k8s部署Rabbitmq集群
Posted 运维菌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s部署Rabbitmq集群相关的知识,希望对你有一定的参考价值。
rabbitmq-peer-discovery-k8s是RabbitMQ官方基于第三方开源项目rabbitmq-autocluster开发,对3.7.X版本提供的Kubernetes下的对等发现插件,可实现rabbitmq集群在k8s中的自动化部署;低于3.7.X版本请使用rabbitmq-autocluster。
创建
1. 创建RBAC授权
假设namesapce为ingress
rbac.yaml
--- |
创建
kubectl create -f rbac.yaml |
2. 创建configmap
configmap.yaml
--- |
rabbitmq_peer_discovery_k8s参数解析:
cluster_formation.peer_discovery_backend:对待发现后台插件
cluster_formation.k8s.host:k8s服务主机(默认即可)
cluster_formation.k8s.address_type:基于IP/Hostname
cluster_formation.node_cleanup.interval:清理节点检查时间间隔
创建
kubectl create -f configmap.yaml |
3. 创建headless service
service.yaml
--- |
创建
kubectl create -f service.yaml |
4. 创建statefulset
statefulset.yaml
--- |
创建
kubectl create -f statefulset.yaml |
等待所有Pod全是Running状态后,登陆到pod内部查询集群信息
[root@k8s-node1 services]# kubectl -n ingress exec -it rabbitmq-0 bash |
5. 创建ingress
ingress.yaml
apiVersion: extensions/v1beta1 |
创建
kubectl create -f ingress.yaml |
登录http://rabbitmq-ingress.test.com:15672(保证域名解析正确)即可访问web管理页面(默认用户密码均为guest)
6. 节点伸缩
可以直接使用scale命令行来伸缩工作节点:
kubectl scale statefulset rabbitmq --replicas=4 -n ingress |
以上是关于k8s部署Rabbitmq集群的主要内容,如果未能解决你的问题,请参考以下文章