官方 kubernetes 文档明确指出kube-proxy “不会扩展到具有数千个服务的非常大的集群”,但是当LoadBalancer
在 GKE 上创建类型 Service时,默认externalTrafficPolicy
设置为Cluster
(这意味着每个请求将由除了外部负载平衡之外,无论如何都是 kube-proxy)。正如在Next '17 的这段视频中所解释的那样,这是为了避免流量不平衡(因为 Google 的外部负载均衡器无法询问集群每个节点上有多少给定服务的 pod)。
因此问题是:这是否意味着:
a) 默认情况下,GKE 不能用于“具有数千个服务的超大型集群”,为此我需要通过设置externalTrafficPolicy
来冒流量不平衡的风险Local
b) ...或者有关 kube-proxy 可扩展性差的信息不正确或已过时
c) ...或其他我想不出的东西
谢谢!