6

在 Kubernetes 中,假设我们有 3 个 pod,它们物理上托管在节点 X、Y 和 Z 上。当我使用“kubectl expose”将它们公开为服务时,它们都是集群中的节点(除了 X、Y 和 Z ) 配置方式相同吗?具体来说,集群内每个节点中的 kube-proxy 都会监视 apiserver,构建一堆 iptables 规则并引用门户 IP(由 apiserver 选择),并将这些规则插入它所在的节点?

我认为必须在所有节点上完成它的原因是集群不知道客户端将从哪个节点来访问门户 IP?

4

1 回答 1

4

你是对的。门户网络(又名服务网络,集群网络)没有网络接口,而是由 kube-proxy 管理的 iptables 规则的集合。每个节点都需要有这些规则,因为它们中的任何一个 pod 都可以连接任何门户 IP(又名服务 IP、集群 IP)。

在此处阅读更多信息: https ://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

于 2017-06-02T09:48:02.253 回答