LoadBalancer-Kubernetes或Nginx或两者兼而有之

时间:2019-10-07 05:34:14

标签: nginx kubernetes

Nginx默认支持'Round Robin'负载平衡,并且如果我将kubernetes服务类型设置为'LoadBalancer'(我认为这是服务提供商的network-LB?例如this)不会使(理论上)堆栈中有两个负载均衡器?

假设,我在nginx(网络服务器)后面有一个Web应用程序,因此我猜在这种情况下不会发生nginx-LB。但是,当它扩展到nginx之后的多个Web应用程序时,它将开始负载平衡。

最好的拓扑是什么,使所有使用网络负载平衡器(硬件)的Web应用程序或单个nginx后面的多个Web应用程序?

1)单个nginx用于多个Web应用程序

                          |=> web-app
network-LB <==> nginx-LB <==> web-app
                          |=> web-app

2)让网络LB为作为Web服务器的每个Web应用执行平衡和Nginx吗?

                nginx-LB <==> web-app
network-LB <==> nginx-LB <==> web-app
                nginx-LB <==> web-app

1 个答案:

答案 0 :(得分:2)

因此,一般的流程是将Nginx入口而不是Nginx作为LB合并,因为Nginx入口控制器针对这种路由进行了优化,并支持自动缩放,因此您不需要处理任何负载不足的情况,想法存在。

0

但是,您的nginx控制器在监视Web应用程序的端点时会表现出一些魔力,并且在更改时会更新配置,从而减少一跳(比需要手动进行IP查找的普通路由更好)。您可以阅读有关nginx入口here

的更多信息