同一节点上的 Pod 之间如何通信?

mdo*_*fe1 6 kubernetes

如果我在 2 个 pod 中运行进程,这些进程通过 tcp 相互通信(通过 Kubernetes 服务相互寻址),并且 pod 被调度到同一节点,通信将通过网络进行,或者 Kubernetes 是否知道使用环回设备?

Von*_*onC 2

“ community/contributors/design-proposals/network/networking ”中未提及环回

\n
\n

由于每个 Pod 都会获得一个“真实”(非机器私有)IP 地址,因此 Pod 无需代理或转换即可进行通信。Pod 可以使用众所周知的端口号,并且可以避免使用更高级别的服务发现系统,例如 DNS-SD、Consul 或 Etcd。

\n

当任何容器调用ioctl(SIOCGIFADDR)(获取接口的地址)时,它会看到与任何对等容器看到的相同的 IP,它们来自 \xe2\x80\x94 每个 Pod 都有自己的 IP 地址,其他 Pod 可以知道。
\n通过使 Pod 内部和外部的 IP 地址和端口相同,我们创建了一个无 NAT 的扁平地址空间。运行“ ip addr show”应该按预期工作。这将使所有现有的命名/发现机制能够开箱即用,包括自注册机制和分配 IP 地址的应用程序。
\n我们应该优化 Pod 间的网络通信

\n
\n

去年在《Kubernetes - pod 内的容器通信使用名称而不是\' localhost\'?》中已经提到了使用 IP。

\n