Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux K8s何时使用外部负载平衡器?_Linux_Kubernetes - Fatal编程技术网

Linux K8s何时使用外部负载平衡器?

Linux K8s何时使用外部负载平衡器?,linux,kubernetes,Linux,Kubernetes,解释我的困惑/缺乏理解 在阅读有关外部的内容时,我不太明白什么时候应该使用它,因为当创建部署时,K8s将在该部署中的POD上执行循环负载平衡 因此,从我目前的理解来看,所有人需要做的就是创建一个节点IP,这样您就有了相当于外部负载平衡器的功能了 或者我应该将LoadBalancer类型想象为haproxy/nginx/envegate,在这里可以执行SSL、反向代理和许多其他有用的操作 我目前的猜测是,正确使用LoadBalancer是添加许多NodeIP,但我找不到任何支持这一点的方法 问题

解释我的困惑/缺乏理解

在阅读有关外部的内容时,我不太明白什么时候应该使用它,因为当创建部署时,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访问服务