Helm实战:StatefulSet与Chart两种方式安装RabbitMQ集群

来自AI助手的总结
介绍了用StatefulSet和Helm两种方式部署RabbitMQ集群
Helm实战:StatefulSet与Chart两种方式安装RabbitMQ集群

一、前言

本文主要以两种方式介绍安装RabbitMQ集群:

  • StatefulSet安装RabbitMQ集群

  • 编写Chart一键安装RabbitMQ集群

二、StatefulSet安装RabbitMQ集群

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

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

三、编写Chart一键安装RabbitMQ集群

1.下载文件

[root@k8s-master01 ~]# git clone https://gitee.com/jeckjohn/chart-rabbitmq.git
[root@k8s-master01 ~]# cd chart-rabbitmq/
[root@k8s-master01 chart-rabbitmq]# ls
Chart.yaml  templates  values.yaml

上面文件说明:

Chart.yaml 文件包含了该chart的描述。你可以从模板中访问它

  • apiVersion:Chart的apiVersion,目前默认都是v2

  • name:Chart的名称

  • description:Chart描述信息

  • type:图表的类型

  • version:Chart自己的版本号

  • appVersion:Chart内应用的版本号

templates/ 目录:包括了模板文件。当Helm评估chart时,会通过模板渲染引擎将所有文件发送到templates/目录中。 然后收集模板的结果并发送给Kubernetes

values.yaml 文件也导入到了模板。这个文件包含了chart的默认值。这些值会在用户执行helm installhelm upgrade时被覆盖,一般配置全局变量或者一些参数,其中优先级为values.yaml最低,--set参数最高

2.开始安装


[root@k8s-master01 ~]# cd chart-rabbitmq/

[root@k8s-master01 rabbitmq-cluster]# helm install rabbitmq . -n public-service

3.查看pod及svc


[root@k8s-master01 ~]# kubectl get po -n public-service

NAME         READY   STATUS    RESTARTS   AGE

rabbitmq-0   1/1     Running   0          4m8s

rabbitmq-1   1/1     Running   0          2m46s

rabbitmq-2   1/1     Running   0          85s

[root@k8s-master01 ~]# kubectl get svc  -n public-service

NAME                       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                          AGE

rmq-cluster-headless       ClusterIP   None           <none>        5672/TCP                         4m10s

rmq-cluster-loadbalancer   NodePort    10.0.213.185   <none>        15672:32470/TCP,5672:31664/TCP   4m10s

4.打开浏览器输入节点IP:32470页面测试访问,其中用户名是user,用户密码是pass

编写Chart一键安装RabbitMQ集群-1

5.卸载安装的集群


[root@k8s-master01 ~]# cd chart-rabbitmq/

[root@k8s-master01 rabbitmq-cluster]# helm uninstall rabbitmq  -n public-service

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容