说明:下面安装未涉及持久性,但是生产环境必须要持久化

1.下载基本文件

[root@k8s-master01 ~]# git clone https://gitee.com/jeckjohn/stateful-set-rabbit-mq.git

2.检查之前是否安装过rabbitmq,若没有,可直接略过

[root@k8s-master01 ~]#  kubectl get po -n public-service
No resources found in public-service namespace.
[root@k8s-master01 ~]#  kubectl get svc,deployment -n public-service
No resources found in public-service namespace.

如果存在,进行删除

[root@k8s-master01 ~]#  kubectl delete svc rabbitmq -n public-service
[root@k8s-master01 ~]#  kubectl delete deploy rabbitmq -n public-service

3.一键部署RabbitMQ集群

[root@k8s-master01 ~]# kubectl create ns public-service
[root@k8s-master01 ~]# cd stateful-set-rabbit-mq
[root@k8s-master01 stateful-set-rabbit-mq]#  kubectl apply -f . -n public-service

4.查看Pod及service建立情况

[root@k8s-master01 ~]# kubectl get po -n public-service
NAME            READY   STATUS    RESTARTS   AGE
rmq-cluster-0   1/1     Running   0          25m
rmq-cluster-1   1/1     Running   0          24m
rmq-cluster-2   1/1     Running   0          22m

[root@k8s-master01 stateful-set-rabbit-mq]# kubectl get svc -n public-service
NAME                   TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                          AGE
rmq-cluster            ClusterIP   None         <none>        5672/TCP                         29m
rmq-cluster-balancer   NodePort    10.0.3.116   <none>        15672:31372/TCP,5672:32359/TCP   29m

5.打开浏览器输入节点IP:32359页面测试访问,其中用户名是RABBITMQ_USER,用户密码是RABBITMQ_PASS

StatefulSet安装RabbitMQ集群-1

6.卸载安装的集群

[root@k8s-master01 ~]# cd stateful-set-rabbit-mq
[root@k8s-master01 stateful-set-rabbit-mq]#  kubectl delete -f . -n public-service