如果我在 2 个 pod 中运行进程,这些进程通过 tcp 相互通信(通过 Kubernetes 服务相互寻址),并且 pod 被调度到同一节点,通信将通过网络进行,或者 Kubernetes 是否知道使用环回设备?
“ community/contributors/design-proposals/network/networking ”中未提及环回
\n\n\n由于每个 Pod 都会获得一个“真实”(非机器私有)IP 地址,因此 Pod 无需代理或转换即可进行通信。Pod 可以使用众所周知的端口号,并且可以避免使用更高级别的服务发现系统,例如 DNS-SD、Consul 或 Etcd。
\n当任何容器调用
\nioctl(SIOCGIFADDR)(获取接口的地址)时,它会看到与任何对等容器看到的相同的 IP,它们来自 \xe2\x80\x94 每个 Pod 都有自己的 IP 地址,其他 Pod 可以知道。
\n通过使 Pod 内部和外部的 IP 地址和端口相同,我们创建了一个无 NAT 的扁平地址空间。运行“ip addr show”应该按预期工作。这将使所有现有的命名/发现机制能够开箱即用,包括自注册机制和分配 IP 地址的应用程序。
\n我们应该优化 Pod 间的网络通信。
去年在《Kubernetes - pod 内的容器通信使用名称而不是\' localhost\'?》中已经提到了使用 IP。
| 归档时间: |
|
| 查看次数: |
4068 次 |
| 最近记录: |