【问题标题】:kubernetes cluster pods not able to ping pods on another nodekubernetes 集群 pod 无法 ping 另一个节点上的 pod
【发布时间】:2019-02-08 17:50:57
【问题描述】:

在 virtualbox 上使用三个 vm 设置一个 kubernetes 集群。一个设置为主节点,另一个设置为工作节点。在集群上部署了 pod,但是这些 pod 无法 ping 不同节点上的任何 pod,但可以 ping 同一节点上的 pod

【问题讨论】:

  • 这是一个供程序员互相帮助解决问题并提出解决方案的门户。因此,请尝试提出编程源代码以及您的问题。感谢您的理解。
  • 您如何 ping 另一个节点上的 pod?您是在引用 pod 名称(我认为这行不通)还是 IP(我认为这行得通)。此外,您通常还需要检查附加到 pod 的服务,以便查看可以访问的 IP。
  • 我在 pod 中执行 ping 命令:kubectl exe -it pod_name -- /bin/bash 并在不同节点上执行 ping 命令到 pod
  • 调试的第一步——你的虚拟机可以互相通信吗?您可以从另一个 VM 中 ping 一个 VM 吗?如果这不起作用,那么 Kubernetes 就没有机会了。您使用的是哪个 CNI 插件?
  • 通常在 Kubernetes 中,您是从 pod 到服务进行通信,而不是直接从 pod 到 pod;你通过 TCP 而不是 ICMP 进行通信,我不一定期望 ping 能证明很多。你真正想调试什么问题?

标签: docker kubernetes


【解决方案1】:

Kubernetes 使用不同的内部通信方法。在基本的DNS-operated network 中有 在服务而不是 Pod 之间交换数据包。一些操作使用基于 iptables 的“NAT”网络 而不是低级打包交换。可能需要使用覆盖网络来实现您所需要的。

回到你的问题。我可能会建议您构建服务,然后尝试通过名称相互 ping flannel 或类似的解决方案。 您可能会发现foundations 很有趣,并深入了解network abstraction layer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-24
    • 2018-05-25
    • 2023-04-03
    • 2017-12-28
    • 1970-01-01
    • 2015-07-19
    • 2020-07-03
    • 2020-09-10
    相关资源
    最近更新 更多