Title

k8s部署rabbitmq并添加延迟队列插件

创建namespace

kubectl create namespace rabbitmq

创建pvc

vim rabbitmq-pvc.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata: 

  name: rabbitmq-pvc

  namespacerabbitmq

spec:  

  accessModes:

  - ReadWriteMany 

  volumeMode: Filesystem

  resources: 

    requests:

      storage: 5Gi  

  storageClassName: managed-nfs-storage

执行yaml并查看pvc状态

kubectl apply -f rabbitmq-pvc.yaml

kubectl get pvc -n rabbitmq

创建deployment

vim rabbitmq-deployment.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: rabbitmq

  namespacerabbitmq

spec:  

  replicas: 1

  selector:

    matchLabels: 

      app: rabbitmq

  template:   

    metadata:  

      labels: 

        app: rabbitmq

    spec: 

      imagePullSecrets: 

        - name: harbor

      containers:

        - name: rabbitmq

          image: rabbitmq:3.9.28-management

          ports:

            - containerPort: 5672  

            - containerPort: 15672 

          env:

            - name: RABBITMQ_DEFAULT_USER

              value: "guest"

            - name: RABBITMQ_DEFAULT_PASS

              value: "guest"   

          volumeMounts:  

            - name: rabbitmq-data

              mountPath: /var/lib/rabbitmq

      volumes:  

        - name: rabbitmq-data

          persistentVolumeClaim: 

              claimName: rabbitmq-pvc 

运行yaml

kubectl apply -f rabbitmq-deployment.yaml

kubectl get po -n rabbitmq

 创建svc

vim rabbitmq-svc.yaml

apiVersion: v1

kind: Service

metadata:  

  name: rabbitmq

  namespacerabbitmq

spec: 

  type: NodePort

  ports:  

    - name: amqp

      port: 5672 

      targetPort: 5672 

      nodePort: 30672

    - name: management

      port: 15672 

      targetPort: 15672

      nodePort: 32672

  selector:

    app: rabbitmq 

运行yaml

kubectl apply -f rabbitmq-svc.yaml

kubectl get svc -A

将延迟队列插件放在pod里的/opt/rabbitmq/plugins目录下

插件包我直接放在网盘里了,需要的直接下载即可

链接:https://pan.baidu.com/s/1qrwOqy_625soLW0gIa21HA?pwd=81vx
提取码:81vx

 

 

进入容器执行命令启动插件 

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

 

 

添加用户和密码,设置账号admin、密码

rabbitmqctl add_user admin zwzk@2024

admin设置为管理员用户

rabbitmqctl set_user_tags admin administrator

设置权限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

启动web插件

rabbitmq-plugins enable rabbitmq_management

 

浏览器访问:

支持x-delayed-message就代表延迟队列插件加载成功了

 

posted @ 2024-06-20 10:57  Esurts~  阅读(105)  评论(0)    收藏  举报