Kubernetes 如何扩展nginx入口/负载平衡器?

Kubernetes 如何扩展nginx入口/负载平衡器?,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,因此,我正在使用并通过图表安装它 我没有找到该图表的任何真实文档,但在引用时,我将controller.kind值更改为DaemonSet 所以问题的第一部分,这是一个好的实践吗。我找不到关于这方面的任何信息,但是一个控制器可能不足以处理所有的输入流量,而且我们遇到了一些问题,运行入口控制器的节点出现故障。我希望在可用性和性能方面,让控制器作为守护程序运行就足够了 问题的第二个也是更重要的部分是,在这样的设置中,我怎么可能有多个负载平衡器?由于一个loadbalancer可能无法处理所有流量,我

因此,我正在使用并通过图表安装它

我没有找到该图表的任何真实文档,但在引用时,我将controller.kind值更改为DaemonSet

所以问题的第一部分,这是一个好的实践吗。我找不到关于这方面的任何信息,但是一个控制器可能不足以处理所有的输入流量,而且我们遇到了一些问题,运行入口控制器的节点出现故障。我希望在可用性和性能方面,让控制器作为守护程序运行就足够了

问题的第二个也是更重要的部分是,在这样的设置中,我怎么可能有多个负载平衡器?由于一个loadbalancer可能无法处理所有流量,我们希望添加多个loadbalancer,但据我所知,将创建一个loadbalancer类型的服务。如何拥有多个负载平衡器


也可以通过helm chart配置实现这一点吗?

Nginx Ingress Controller不是负载平衡器,所以当你说一个负载平衡器不够时,我猜你的意思是一个Ingress Controller pod不够。在这种情况下,创建几个负载平衡器并没有真正的帮助,因为您会得到更多指向同一入口控制器的云提供商负载平衡器

现在,为IC安装一个
守护程序似乎是个好主意,但事实并非如此。特别是当您有几十个或数百个节点时,在这种情况下,您可能会有几十个或数百个并不真正需要的IC吊舱。40个节点可能需要5个节点


正确的方法是将对象更改回
Deployment
,为该
Deployment
创建一个
HorizontalPodAutoscaler
对象,以根据您将设置的阈值进行缩放。您可能需要为此安装。例如,如果您有一个节点自动缩放器的问题,它可能会在任何时候关闭一个节点,那么您应该设置一个
podcruptionbudget
对象,以防止出现这些情况。PDB将防止一个节点被耗尽,节点自动缩放器将取下另一个节点。您还可以针对自身设置一个
反亲和力
,以防止在同一节点上部署两个IC POD,要完成额外的任务。

您可能希望实施一个监管流程,忽略负载平衡器的多个实例,该流程将根据负载和可用性重新分配流量,并在单个实例关闭/消失后重新启动,或在需要时生成其他实例。但这个监管流程难道不会成为新的流程吗瓶颈?我的想法是拥有多个负载平衡器,然后通过DNS负载平衡分配流量,在第一步中,手动添加/删除负载平衡器。但我不确定如何配置helm图表,以便有多个负载平衡器,以及如何使用控制器和可能的瓶颈。DNS负载平衡是一个类似问题的建议解决方案:我认为这可能会有所帮助-@KrishnaChaurasia谢谢-问题是如何获得nginx控制器配置为可以使用DNS负载平衡听起来很有希望,那么通过我上面提到的helm图表,是否可以创建多个负载平衡器?如果没有,我只需要复制当前的负载平衡器?@natschz如果需要多个IP地址,您只需要多个负载平衡器。您需要的是入口控制器的多个副本,为此,您只需要HPA和PDB。不需要编辑你的掌舵图。我想我们确实需要多个负载平衡器,我今天发布了另一个。我不确定这是如何与其他云提供商联系的,但仅DigitalOcean支持多达40000个同时连接。为了克服这一点,据我所知,我们需要多个负载平衡器?@natschz在这种情况下,是的,您将获得另一个负载平衡器并进行DNS平衡。