首页 > 解决方案 > 在 Minikube 集群上部署 RabbitMQ 和 Consul

问题描述

我目前尝试部署我的学习环境。我的目标是使用 Consul、Vault、RabbitMQ/Kafka、Jaeger、Elasticsearch、Prometheus、Grafana 等部署堆栈。尽管我有 docker 和 swarm 方面的经验,但我对 Kubernetes、Helm 和网络东西还是很陌生。

我使用该链接成功部署了 Consul:https ://learn.hashicorp.com/tutorials/consul/kubernetes-minikube

然后我尝试部署 RabbitMQ 并遇到了一个问题。Rabbit 的 pod 在几次重启后挂起,处于Init: CrashLoopBackOff状态。

日志:

kubectl logs rabbitmq-0 consul-connect-inject-init -f  
...
2021-08-26T15:17:27.954Z [INFO]  Unable to find registered services; retrying
2021-08-26T15:17:28.955Z [INFO]  Unable to find registered services; retrying
2021-08-26T15:17:28.955Z [INFO]  Check to ensure a Kubernetes service has been created for this application. If your pod is not starting also check the connect-inject deployment logs.

kubectl describe svc rabbitmq
Name:              rabbitmq
Namespace:         default
Labels:            app.kubernetes.io/instance=rabbitmq
               app.kubernetes.io/managed-by=Helm
               app.kubernetes.io/name=rabbitmq
               helm.sh/chart=rabbitmq-8.20.3
Annotations:       meta.helm.sh/release-name: rabbitmq
               meta.helm.sh/release-namespace: default
Selector:                app.kubernetes.io/instance=rabbitmq,app.kubernetes.io/name=rabbitmq
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.104.42.222
IPs:               10.104.42.222
Port:              amqp  5672/TCP
TargetPort:        amqp/TCP
Endpoints:         
Port:              epmd  4369/TCP
TargetPort:        epmd/TCP
Endpoints:         
Port:              dist  25672/TCP
TargetPort:        dist/TCP
Endpoints:         
Port:              http-stats  15672/TCP
TargetPort:        stats/TCP
Endpoints:         
Session Affinity:  None
Events:            <none>

我还对 Rabbit Helm 图表进行了一些更改:

extraPlugins: "rabbitmq_auth_backend_ldap rabbitmq_peer_discovery_consul"
cluster_formation.peer_discovery_backend  = consul
cluster_formation.consul.svc = rabbitmq
cluster_formation.consul.svc_addr_auto = true
cluster_formation.consul.svc_addr_use_nodename = false
cluster_formation.consul.host = consul
cluster_formation.consul.use_longname = true

我用过:https ://www.rabbitmq.com/cluster-formation.html#peer-discovery-consul 没有效果。

Consul 发现 Rabbit 服务,但 pod 无法正常工作: Consul 截图

我可以做些什么来解决我的问题?

标签: kubernetesrabbitmqminikubeconsul

解决方案


推荐阅读