在 kubernetes 集群中,如果我连接到给定 Pod IP 地址的端口,我将连接到 Pod 内的哪个容器?

在 kubernetes 集群中,如果我连接到给定 Pod IP 地址的端口,我将连接到 Pod 内的哪个容器?

假设一个 pod 有两个容器 A 和 B,分别暴露 80 和 443。如果另一个 pod 使用其 IP 地址在端口 80 连接到此 pod,kubernetes 如何知道我连接的是容器 A,而不是容器 B?kubernetes 采用什么机制来保证容器 A 接收我的连接?

答案1

Pod 中的所有容器共享相同的网络命名空间[1]。只有一个容器能够将服务绑定到给定端口 - 因此,通过选择端口,您就选择了目标容器。

[1] Linux 内核命名空间,不要与 Kubernetes 命名空间混淆。

相关内容