我想知道入口控制器如何确保 K8S 集群的传入请求在所有 K8S 节点之间实现负载平衡。我知道,对于其他一些入口控制器,集群前面有一个外部负载平衡器,入口控制器会自动配置它。在其他一些情况下,入口控制器通过与路由器或 K8S 集群前面的其他前端交互来实现这一点。
我想知道 NGINX Ingress-Controller(如果我错了,请纠正我,它与包含 VIP 的 LoadBalancer 服务一起工作)如何确保入站流量在 K8S 节点之间进行负载平衡。
就我而言,K8S 集群以及 NGINX 入口控制器都是在本地部署的。
答案1
我想知道入口控制器如何确保 K8S 集群的传入请求在所有 K8S 节点之间实现负载平衡
它默认为round_robin
并使用Endpoint
s 而不是通过Service
IP 发送流量,IP 本身会在所有节点上进行循环(这会将流量发送到潜在 Pod 未运行的节点,造成浪费)
因此,它并没有达到你所说的效果——在两者之间取得平衡,全部节点——但是出于上述原因,您实际上也不想要那种行为。
正如他们在手册中提到的那样,如果你真的需要确定性的循环行为,你需要根据你想要的行为进行调整