如何拥有一个由2个Kubernetes状态集组成的RabbitMQ集群?

时间:2019-09-06 11:55:20

标签: service kubernetes rabbitmq

我正在使用RMQ作为平台中的代理,此刻我正在使用RMQ-ha的Helm图表来设置RMQ集群,并且该集群工作正常。这个掌舵图包含2个服务,一个(rmq-service)作为负载均衡器,用于来自kubernetes外部的传入流量,另一个(rmq-service-discovery)用于发现,我想用于内部通信,还有1个有状态集。

我想拥有1个RMQ群集,其中包括两个状态集,一个用于传入流量,另一个用于内部通信。为此,我在同一舵图中添加了另一个有状态集(broker-public),并将rmq-service的选择器部分更改为仅选择broker-public。现在,我的平台已启动并且正在运行,并且已经准备就绪,但是当我发送请求时,我会遇到此错误:

 name: 'RequestError',
  message: 'Error: getaddrinfo EAI_AGAIN deployer deployer:8004',
  cause:
   { Error: getaddrinfo EAI_AGAIN deployer deployer:8004
       at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
     errno: 'EAI_AGAIN',
     code: 'EAI_AGAIN',
     syscall: 'getaddrinfo',
     hostname: 'deployer',
     host: 'deployer',
     port: '8004' },

当我搜索此错误means that时,“ EAI_AGAIN是DNS查找超时错误,表示这是网络连接错误或与代理相关的错误。”

因为配置很大,所以我现在只放置相关部分。 rmq-service.yaml:

  selector:
    # app: {{ template "rabbitmq-ha.name" . }}
    # release: {{ .Release.Name }}
    broker: public

broker-public.yaml:

  template:
    metadata:
      labels:
        app: {{ template "rabbitmq-ha.name" . }}
        release: {{ .Release.Name }}
        broker: public

0 个答案:

没有答案