Linux K8s何时使用外部负载平衡器?
解释我的困惑/缺乏理解 在阅读有关外部的内容时,我不太明白什么时候应该使用它,因为当创建部署时,K8s将在该部署中的POD上执行循环负载平衡 因此,从我目前的理解来看,所有人需要做的就是创建一个节点IP,这样您就有了相当于外部负载平衡器的功能了 或者我应该将LoadBalancer类型想象为haproxy/nginx/envegate,在这里可以执行SSL、反向代理和许多其他有用的操作 我目前的猜测是,正确使用LoadBalancer是添加许多NodeIP,但我找不到任何支持这一点的方法 问题Linux K8s何时使用外部负载平衡器?,linux,kubernetes,Linux,Kubernetes,解释我的困惑/缺乏理解 在阅读有关外部的内容时,我不太明白什么时候应该使用它,因为当创建部署时,K8s将在该部署中的POD上执行循环负载平衡 因此,从我目前的理解来看,所有人需要做的就是创建一个节点IP,这样您就有了相当于外部负载平衡器的功能了 或者我应该将LoadBalancer类型想象为haproxy/nginx/envegate,在这里可以执行SSL、反向代理和许多其他有用的操作 我目前的猜测是,正确使用LoadBalancer是添加许多NodeIP,但我找不到任何支持这一点的方法 问题
有人能解释一下什么时候以及为什么要使用LoadBalancer,而不仅仅是使用NodeIP吗?例如,您想在集群中部署多个应用程序,比如10个应用程序。 您希望通过internet访问这10个应用程序。一种方法是将这10个应用程序服务设置为nodeport,以便您可以从外部访问它们。为此,kubernetes在每个集群节点上打开10个节点报告。这是一种安全风险 在大多数在封闭网络中防火墙后工作的企业中,除了http/https(80/443)之外,不允许外部通信进出任何端口 一种方法是为每个应用程序服务将服务类型设置为Loadbalancer。因此,要访问10个应用程序,您需要配置10个负载平衡器,以便通过http/https端口访问应用程序服务器。由于负载均衡器是收费的资源,因此从经济角度讲,对于您希望通过itnernet访问的每个服务使用一个负载均衡器是不可行的 有没有办法通过一个端口访问kubernetes内部运行的所有10个应用程序服务。这就是入口控制器进入画面的地方
入口控制器允许单个ip端口通过入口规则访问k8s中运行的所有服务。ingress controller服务设置为load balancer,因此可以从公共internet访问它使用nginx反向代理添加SSL是我们使用外部LB的目的。Stack Overflow是一个解决编程和开发问题的网站。对于这个问题,您可能应该使用上的另一个站点。另请参见帮助中心。因此,外部
负载平衡器
并不真正执行负载平衡,而是充当反向代理?是的,您是对的。集群内运行的POD的负载平衡由k8s负责。Externel LB允许从internet访问服务