【问题标题】:Why kubernetes doesn't provide pod-to-pod communication?为什么 Kubernetes 不提供 pod 到 pod 通信?
【发布时间】:2019-10-16 01:25:53
【问题描述】:

在尝试了解 Kubernetes 网络 时,有一点让我感到困惑。为什么Kubernetes 本身不处理 pod 到 pod 通信?

根据文档 - https://kubernetes.io/docs/concepts/cluster-administration/networking/

4 个不同的网络问题需要解决:

  1. 高度耦合的容器间通信:解决了 通过 pod 和 localhost 通信。
  2. Pod 到 Pod 通信:这是本文的主要重点 文件。
  3. Pod 到服务的通信:这由服务涵盖。
  4. 外部到服务的通信:这由服务涵盖。

当 Kubernetes 可以处理所有其他问题(如上所述)网络时,为什么 pod 到 pod 通信需要由其他 plugins 来处理,例如 ACI 、纤毛、法兰绒、捷豹等..

想知道这种架构有什么具体原因吗?

【问题讨论】:

  • 嗨,youtube.com/… 提供了很好的细节。这可能会有所帮助。

标签: networking kubernetes


【解决方案1】:

简短的回答是网络复杂且高度定制化。提供一个在任何地方都可以使用的高效内置程序并不容易。所有云提供商网络都不同于裸机网络。与其选择一个糟糕的默认设置,我们要求最终用户(实际上是唯一可能理解其网络的人)做出决定。

做一个内置的 VXLAN 或其他东西可能是可能的,但对于许多用户来说远非理想,而且默认值往往会保持不变......

【讨论】:

  • “网络复杂且高度定制化”,“提供一个无处不在的高效内置并不容易”,“云提供商网络与裸机网络不同” - 您能否提供我有更多关于这些的信息吗?比如可以进行哪些定制,为什么? kubernetes 在节点/服务器上运行,这就像提供网络/连接 b/w 多个虚拟机,我的假设,所以应该基本相同。
  • Kubernetes 对网络的需求超出了普通 VM 的需求。具体来说,它希望分配给每个节点的 IP 范围,所有其他节点都知道。 IPAM在企业中非常广泛。此外,IP 路由取决于所使用的硬件和软件。我是否通过 BGP 做广告?我需要在每台机器上使用静态路由吗?我可以对 TOR 进行编程吗?谁可以这样做?
【解决方案2】:

同意上面的蒂姆。一般来说,Kubernetes 主要是开发人员的计算、存储和网络的抽象和编排层,因此他们不必了解实现。实现本身将与底层基础设施相关联,kubernetes 只为它们定义接口(CRI 用于容器 - 计算,CSI 用于存储,CNI 用于网络)。

只需定义接口,实现就可以在不违反约定的情况下独立发展。例如,将来有可能将 pod-to-pod 网络卸载到 nic 卡上,期望 Kubernetes 发展到这样的技术变革可能是一个很大的问题。通过不与实现密切相关,它允许在每一层加速技术开发。

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2020-11-06
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多