【问题标题】:Kubernetes pods doesn't see each otherKubernetes pod 看不到彼此
【发布时间】:2019-06-04 16:18:37
【问题描述】:

我使用来自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 个 pod。但是如果我查看日志,我会发现错误:

[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

elasticsearch pods 好像没有看到对方。

我在 VMWare vSphere 上部署了一个 K8s 集群。

【问题讨论】:

    标签: kubernetes vmware kubernetes-helm


    【解决方案1】:

    好的。我找到了问题的答案,它与 ElasticSearch 或 Helm 无关,而是与 Kubernetes 和 Flannel 相关。

    我已经部署了一个由 6 个虚拟机组成的 Kubernetes 集群:3 个主节点和 3 个节点。 VM 是使用 VMWare 技术创建的。之后,Kubernetes 集群使用 KubeSpray 进行配置,其中 Flannel 是 Kubernetes 网络的实现。

    Flannel 需要端口 8472(默认值)来做一些与 Vxlan 相关的事情,你会在 KubeSpray Ansible playbook 中找到属性 flannel_backend_port。 VMWare 还为 Vxlan 使用端口 8472,因此您必须将 flannel_backend_port 的值从 8472 更改为另一个(提供一个明确的端口,而不是 8472)并重新运行 KubeSpray Ansible 剧本或使用 @987654323 应用更改@。

    这是我的真正问题。请小心,因为在我的上下文中,真正的问题是 VMWare,所以如果您不使用 VMWare,很有可能不会遇到这个问题。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 2017-11-26
      • 2022-01-14
      • 1970-01-01
      • 2018-08-13
      • 2020-04-20
      • 1970-01-01
      • 2019-10-16
      相关资源
      最近更新 更多