Kubernetes 同一节点上的吊舱如何相互通信?

Kubernetes 同一节点上的吊舱如何相互通信?,kubernetes,Kubernetes,如果我在两个POD中运行进程,这些POD通过tcp相互通信(通过Kubernetes服务相互寻址),并且这些POD被调度到同一个节点,那么通信将通过网络进行还是Kubernetes知道使用环回设备?中未提及环回“” 因为每个pod都有一个“真实的”(非机器专用)IP地址,所以pod可以在没有代理或翻译的情况下进行通信。pod可以使用众所周知的端口号,并且可以避免使用更高级别的服务发现系统,如DNS-SD、CONSOR或Etcd 当任何容器调用ioctl(SIOCGIFADDR)(获取接口地址)时

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

中未提及环回“”

因为每个pod都有一个“真实的”(非机器专用)IP地址,所以pod可以在没有代理或翻译的情况下进行通信。pod可以使用众所周知的端口号,并且可以避免使用更高级别的服务发现系统,如DNS-SD、CONSOR或Etcd

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


去年,kubernetes集群中的“

中已经提到了使用IP,可以在集群中的任何节点上调度pod。另一个想要访问它的pod理想情况下不应该知道这个pod在哪里运行或者它的pod IP地址。Kubernetes通过向Kubernetes服务(与POD关联)提供DNS名称,提供了一种基本的服务发现机制。当一个pod想要与另一个pod通话时,它应该使用DNS名称(例如svc1.namespace1.svc.cluster.local)

注意:对于pod间的容器通信: