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
有人能解释一下,我必须在裸机kubernetes集群上使用外部(MetalLB、HAProxy等)负载平衡器吗?_Kubernetes_Kubernetes Ingress - Fatal编程技术网

有人能解释一下,我必须在裸机kubernetes集群上使用外部(MetalLB、HAProxy等)负载平衡器吗?

有人能解释一下,我必须在裸机kubernetes集群上使用外部(MetalLB、HAProxy等)负载平衡器吗?,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,例如,我有一个具有3个节点的裸机集群,其中一些实例公开了端口105。为了在外部Ip地址上公开它,我可以用“externalIPs”定义一个NodePort类型的服务,它似乎工作得很好。文档中说要使用负载平衡器,但我不明白为什么要使用它,我担心会出错 有人能解释一下,我必须在裸机kubernetes集群上使用外部(MetalLB、HAProxy等)负载平衡器吗 您不必使用它,您可以选择使用NodePort还是LoadBalancer 让我们从NodePort和LoadBalancer之间的区别开

例如,我有一个具有3个节点的裸机集群,其中一些实例公开了端口105。为了在外部Ip地址上公开它,我可以用“externalIPs”定义一个NodePort类型的服务,它似乎工作得很好。文档中说要使用负载平衡器,但我不明白为什么要使用它,我担心会出错

有人能解释一下,我必须在裸机kubernetes集群上使用外部(MetalLB、HAProxy等)负载平衡器吗


您不必使用它,您可以选择使用NodePort还是LoadBalancer


让我们从NodePort和LoadBalancer之间的区别开始

节点端口是将外部流量直接传送到您的服务的最原始的方式。顾名思义,它会在所有节点(VM)上打开一个特定端口,发送到此端口的任何流量都会转发到服务

LoadBalancer服务是向internet公开服务的标准方式。它为您提供一个IP地址,将所有流量转发到您的服务

你可以在库伯内特斯找到更多关于这方面的信息


至于您在评论中提出的问题,
但是带有“externalIPs”选项的NodePort也在做同样的事情。我只看到一个微小的区别,那就是IP应该由一个集群机器拥有。那么,使用负载平衡器的好处在哪里呢?
让我更准确地回答这个问题

ExternalIP有以下几种功能:

使用ExternalIP的优点是:

您可以完全控制所使用的IP。您可以使用属于您的ASN>的IP,而不是云提供商的ASN

使用ExternalIP的缺点是:

简单的设置,我们将通过现在不是高度可用。这意味着,如果节点死亡,服务将无法访问,您需要手动修复该问题

需要进行一些手动工作来管理IP。IP不是为您动态配置的,因此需要手动干预


总结两者的优缺点,我们可以得出结论,ExternalIP不是为生产环境而设计的,它不是高度可用的,如果节点死亡,服务将无法访问,您将不得不手动修复


使用LoadBalancer,如果节点死亡,服务将在另一个节点上自动重新创建。因此,它是动态配置的,不需要像ExternalIP那样手动配置。

您不必使用它,您可以选择使用NodePort还是LoadBalancer。节点端口是直接将外部通信量获取到服务的最原始的方式。顾名思义,它会在所有节点(VM)上打开一个特定端口,发送到此端口的任何流量都会转发到服务。LoadBalancer服务是向internet公开服务的标准方式。它为您提供一个IP地址,将所有流量转发到您的服务。如果这能回答你的问题,请告诉我。我还不清楚。您说LoadBalancer提供一个IP地址,将所有流量转发到我的服务。但是带有“externalIPs”选项的NodePort也在做同样的事情。我只看到一个微小的区别,那就是IP应该由一个集群机器拥有。那么,使用负载平衡器的利润在哪里呢?