k8s部署rabbitmq集群并启用mqtt,并设置admin账户

k8s部署rabbitmq集群并启用mqtt,并设置admin账户

2023年7月3日发(作者:)

k8s部署rabbitmq集群并启⽤mqtt,并设置admin账户项⽬⽤到rabbitmq以及mqtt,所以整理记录⼀下iVersion: v1kind: ConfigMapmetadata: name: rmq-cluster-config namespace: default labels: /mode: Reconciledata: enabled_plugins: |

#有需要启⽤的插件在这⾥设置 [rabbitmq_management,rabbitmq_peer_discovery_k8s,rabbitmq_mqtt,rabbitmq_web_mqtt]. : | loopback_ = false ## Clustering cluster__discovery_backend = rabbit_peer_discovery_k8s cluster_ = cluster_s_type = hostname ################################################# # default is rabbitmq-cluster's namespace# ################################################# cluster_me_suffix = . cluster__al = 10 cluster___log_warning = true cluster_partition_handling = autoheal ## queue master locator queue_master_locator=iVersion: v1kind: ServiceAccountmetadata: name: rmq-cluster namespace: default

---apiVersion: /v1beta1kind: Rolemetadata: name: rmq-cluster namespace: defaultrules: - apiGroups: - "" resources: - endpoints verbs: - get---apiVersion: /v1beta1kind: RoleBindingmetadata: name: rmq-cluster namespace: defaultroleRef: apiGroup: kind: Role name: rmq-clustersubjects:- kind: ServiceAccount name: rmq-cluster namespace: iVersion: v1kind: Secretmetadata: name: rmq-cluster-secret namespace: defaultstringData: cookie: ERLANG_COOKIE username: admin password: admin123type: (采⽤了nodeport,⽅便访问也可以设置为ClusterIP然后ingress作域名访问)我这⾥修改了nodeport的范围,未修改的需要修改⼀下端⼝号apiVersion: v1kind: Servicemetadata: name: rmq-cluster namespace: default labels: app: rmq-clusterspec: selector: app: rmq-cluster ports: - name: http port: 15672 protocol: TCP nodePort: 30672 - name: amqp port: 5672 protocol: TCP nodePort: 25672 - name: mqtt port: 1883 protocol: TCP nodePort: 21883 type: iVersion: apps/v1kind: StatefulSetmetadata: name: rmq-cluster namespace: default labels: app: rmq-clusterspec: replicas: 3 selector: matchLabels: app: rmq-cluster serviceName: rmq-cluster template: metadata: labels: app: rmq-cluster spec: serviceAccountName: rmq-cluster terminationGracePeriodSeconds: 30 containers: - name: rabbitmq image: rabbitmq:3.7-management imagePullPolicy: IfNotPresent ports: - containerPort: 15672 name: http protocol: TCP - containerPort: 5672 name: amqp protocol: TCP command: - sh args: - -c - cp -v /etc/rabbitmq/ ${RABBITMQ_CONFIG_FILE}; exec rabbitmq-server env: - name: RABBITMQ_DEFAULT_USER valueFrom: secretKeyRef: key: username name: rmq-cluster-secret - name: RABBITMQ_DEFAULT_PASS valueFrom: secretKeyRef: key: password name: rmq-cluster-secret - name: RABBITMQ_ERLANG_COOKIE valueFrom: secretKeyRef: key: cookie name: rmq-cluster-secret - name: K8S_SERVICE_NAME value: rmq-cluster - name: POD_IP valueFrom: fieldRef: fieldPath: - name: POD_NAME valueFrom: fieldRef: fieldPath: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: ace - name: RABBITMQ_USE_LONGNAME value: "true" - name: RABBITMQ_NODENAME value: rabbit@$(POD_NAME).rmq-cluster.$(POD_NAMESPACE). - name: RABBITMQ_CONFIG_FILE value: /var/lib/rabbitmq/ livenessProbe: exec: command: - rabbitmqctl - status initialDelaySeconds: 30 timeoutSeconds: 10 readinessProbe: exec: command: - rabbitmqctl - status initialDelaySeconds: 10 timeoutSeconds: 10 volumeMounts: - name: config-volume mountPath: /etc/rabbitmq readOnly: false - name: rabbitmq-storage mountPath: /var/lib/rabbitmq readOnly: false volumes: - name: config-volume configMap: items: - key: path: - key: enabled_plugins path: enabled_plugins name: rmq-cluster-config - name: rabbitmq-storage persistentVolumeClaim: claimName: rabbitmq-cluster-storage这⾥⽤iVersion: v1kind: PersistentVolumemetadata: name: rabbitmq-pv labels: app: rmq-clusterspec: capacity: storage: 5Gi accessModes: - ReadWriteMany nfs: server: 192.168.111.21 path: /root/nfs_root/iVersion: v1kind: PersistentVolumeClaimmetadata: name: rabbitmq-cluster-storage namespace: defaultspec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi selector: matchLabels: app: rmq-cluster部署kubectl apply -f .# 这⾥default 命名空间,就使⽤ sed 命令将yaml⽂件中 default 全局替换为 rabbitmq(其他命名空间):sed -i 's/default/rabbitmq/g' ./*kubectl apply -f .[root@master60 ~]# kubectl get pod |grep rmrmq-cluster-0 1/1 Running 5

rmq-cluster-1 1/1 Running 7

rmq-cluster-2 1/1 Running 6

[root@master60 ~]# kubectl get svc |grep rmrmq-cluster NodePort 10.0.0.181 15672:30672/TCP,5672:25672/TCP,1883:21883/TCP ip:30672访问即可,使⽤初始账号密码guest/guest登录即可。点击“Admin”,标签,添加admin账号,并设置为管理员,密码为admin。见下图:如果添加的⽤户显⽰ no access。点击⽤户名 admin 设置权限。点击 set permission即可。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688360562a126515.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信