k8s部署rabbitmq并添加延迟队列插件
创建namespace
kubectl create namespace rabbitmq
创建pvc
vim rabbitmq-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rabbitmq-pvc
namespace: rabbitmq
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
namespace: rabbitmq
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
namespace: rabbitmq
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就代表延迟队列插件加载成功了









浙公网安备 33010602011771号