通过 DNS Ping pods 状态集
Ping pods of a statefulset via DNS
我正在集群配置中设置 VerneMQ(一个 MQTT 代理)。因此,我在有状态集中启动 4 个副本。显然,VerneMQ 想要通过 DNS 与集群中的其他代理进行通信,如下所示:
echo "Will join an existing Kubernetes cluster with discovery node at
${kube_pod_name}.${VERNEMQ_KUBERNETES_SUBDOMAIN}.${DOCKER_VERNEMQ_KUBERNETES_NAMESPACE}.svc.cluster.local"
不幸的是,日志表明这不起作用:
14:05:56.741 [info] Application vmq_server started on node
'VerneMQ@broker-vernemq-0.broker-vernemq.messaging.svc.cluster.local'
broker-vernemq-0
是 pod 的名称,broker-vernemq
是 statefulset 的名称。该服务配置为 LoadBalancer。
问题:
我通过终端连接到 pod broker-vernemq-1
并执行了 ping broker-vernemq-0
,我想知道它无法解析这个主机名:
ping: unknown host broker-vernemq-0
我的印象是这应该有效?
服务必须是无头的,kube-dns 才能像这样为域名提供服务。参见
我正在集群配置中设置 VerneMQ(一个 MQTT 代理)。因此,我在有状态集中启动 4 个副本。显然,VerneMQ 想要通过 DNS 与集群中的其他代理进行通信,如下所示:
echo "Will join an existing Kubernetes cluster with discovery node at
${kube_pod_name}.${VERNEMQ_KUBERNETES_SUBDOMAIN}.${DOCKER_VERNEMQ_KUBERNETES_NAMESPACE}.svc.cluster.local"
不幸的是,日志表明这不起作用:
14:05:56.741 [info] Application vmq_server started on node 'VerneMQ@broker-vernemq-0.broker-vernemq.messaging.svc.cluster.local'
broker-vernemq-0
是 pod 的名称,broker-vernemq
是 statefulset 的名称。该服务配置为 LoadBalancer。
问题:
我通过终端连接到 pod broker-vernemq-1
并执行了 ping broker-vernemq-0
,我想知道它无法解析这个主机名:
ping: unknown host broker-vernemq-0
我的印象是这应该有效?
服务必须是无头的,kube-dns 才能像这样为域名提供服务。参见