Nginx Ingress-Controller 负载均衡

Nginx Ingress-Controller 负载均衡

我想知道入口控制器如何确保 K8S 集群的传入请求在所有 K8S 节点之间实现负载平衡。我知道,对于其他一些入口控制器,集群前面有一个外部负载平衡器,入口控制器会自动配置它。在其他一些情况下,入口控制器通过与路由器或 K8S 集群前面的其他前端交互来实现这一点。

我想知道 NGINX Ingress-Controller(如果我错了,请纠正我,它与包含 VIP 的 LoadBalancer 服务一起工作)如何确保入站流量在 K8S 节点之间进行负载平衡。

就我而言,K8S 集群以及 NGINX 入口控制器都是在本地部署的。

答案1

我想知道入口控制器如何确保 K8S 集群的传入请求在所有 K8S 节点之间实现负载平衡

默认为round_robin并使用Endpoints 而不是通过ServiceIP 发送流量,IP 本身会在所有节点上进行循环(这会将流量发送到潜在 Pod 未运行的节点,造成浪费)

因此,它并没有达到你所说的效果——在两者之间取得平衡,全部节点——但是出于上述原因,您实际上也不想要那种行为。

正如他们在手册中提到的那样,如果你真的需要确定性的循环行为,你需要根据你想要的行为进行调整

相关内容