Kubernetes pods 没有看到对方
Kubernetes pods doesn't see each other
我使用来自 here 的 Helm 图表在 Kubernetes 集群上部署了一个 ElasticSearch 集群,并在 运行 之后执行了以下 Helm 命令:
helm install stable/elasticsearch --name crv-elasticsearch --set data.persistence.storageClass=nfs-client,data.storage=10Gi --set master.persistence.storageClass=nfs-client --set cluster.name=k8s-elk
我创建了 3 个 pods。但是如果我查看日志,我会发现错误:
[o.e.d.z.ZenDiscovery ] [crv-elasticsearch-master-0] not enough master nodes discovered during pinging (found [[Candidate{node={crv-elasticsearch-master-0}{4pQmoRkoTK28uWahaOo6Xw}{Bl_5yXubSQCld9eQ0zykgw}{10.233.67.55}{10.233.67.55:9300}, clusterStateVersion=-1}]], but needed [2]), pinging again
[2019-06-04T16:12:16,206][WARN ][o.e.d.z.UnicastZenPing ] [crv-elasticsearch-master-0] failed to resolve host [crv-elasticsearch-discovery]
java.net.UnknownHostException: crv-elasticsearch-discovery
elasticsearchpods好像没见过
我在 VMWare vSphere 上部署了一个 K8s 集群。
好的。我找到了问题的答案,它与 ElasticSearch 或 Helm 无关,但与 Kubernetes 和 Flannel 相关。
我已经部署了一个由 6 个虚拟机组成的 Kubernetes 集群:3 个主节点和 3 个节点。 VM 是使用 VMWare 技术创建的。之后,使用 KubeSpray 配置 Kubernetes 集群,其中 Flannel 是 Kubernetes 网络的实现。
Flannel 需要端口 8472(默认值)来做一些与 Vxlan 相关的事情,你会在 KubeSpray Ansible 剧本中找到 属性 flannel_backend_port
。 VMWare 也为 Vxlan 使用端口 8472,因此您必须将 flannel_backend_port
的值从 8472 更改为另一个(给出一个明确的端口,而不是 8472)和 re-run KubeSpray Ansible 剧本或仅应用使用 kubectl -f apply
.
更改
这是我遇到的真正问题。要小心,因为在我的上下文中,真正的问题是 VMWare,所以如果你不使用 VMWare 很可能不会遇到这个问题。
我使用来自 here 的 Helm 图表在 Kubernetes 集群上部署了一个 ElasticSearch 集群,并在 运行 之后执行了以下 Helm 命令:
helm install stable/elasticsearch --name crv-elasticsearch --set data.persistence.storageClass=nfs-client,data.storage=10Gi --set master.persistence.storageClass=nfs-client --set cluster.name=k8s-elk
我创建了 3 个 pods。但是如果我查看日志,我会发现错误:
[o.e.d.z.ZenDiscovery ] [crv-elasticsearch-master-0] not enough master nodes discovered during pinging (found [[Candidate{node={crv-elasticsearch-master-0}{4pQmoRkoTK28uWahaOo6Xw}{Bl_5yXubSQCld9eQ0zykgw}{10.233.67.55}{10.233.67.55:9300}, clusterStateVersion=-1}]], but needed [2]), pinging again
[2019-06-04T16:12:16,206][WARN ][o.e.d.z.UnicastZenPing ] [crv-elasticsearch-master-0] failed to resolve host [crv-elasticsearch-discovery]
java.net.UnknownHostException: crv-elasticsearch-discovery
elasticsearchpods好像没见过
我在 VMWare vSphere 上部署了一个 K8s 集群。
好的。我找到了问题的答案,它与 ElasticSearch 或 Helm 无关,但与 Kubernetes 和 Flannel 相关。
我已经部署了一个由 6 个虚拟机组成的 Kubernetes 集群:3 个主节点和 3 个节点。 VM 是使用 VMWare 技术创建的。之后,使用 KubeSpray 配置 Kubernetes 集群,其中 Flannel 是 Kubernetes 网络的实现。
Flannel 需要端口 8472(默认值)来做一些与 Vxlan 相关的事情,你会在 KubeSpray Ansible 剧本中找到 属性 flannel_backend_port
。 VMWare 也为 Vxlan 使用端口 8472,因此您必须将 flannel_backend_port
的值从 8472 更改为另一个(给出一个明确的端口,而不是 8472)和 re-run KubeSpray Ansible 剧本或仅应用使用 kubectl -f apply
.
这是我遇到的真正问题。要小心,因为在我的上下文中,真正的问题是 VMWare,所以如果你不使用 VMWare 很可能不会遇到这个问题。