kubernetes Ingress Nginx可以自动调整吗?

时间:2018-02-07 17:31:08

标签: nginx kubernetes kubernetes-ingress

当Ingress Nginx控制器达到其最大容量时,它会自动缩放吗? Kubernetes Ingress是否可扩展?

2 个答案:

答案 0 :(得分:1)

原则上,NGINX入口控制器确实可扩展 - 它从Kubernetes API服务器获取其整个配置,并且本身基本上是无状态。

实际上,这在很大程度上取决于您的入口控制器的设置方式。首先,入口控制器不会自动进行自动缩放。如果您使用Deployment控制器部署了它,则可以使用文档中所述的horizontal pod autoscaling。如果您使用DaemonSet部署了它,则入口控制器将自动向上和向下扩展您的群集(如果您使用的是cluster autoscaler,则可能会自动扩展)。

在这两种情况下,您将需要一个Service定义(可能类型为NodePortLoadBalancer,以允许外部流量),该定义与部署创建的所有pod相匹配/ daemon设置为在它们之间分配流量。

答案 1 :(得分:0)

是的,可以通过两种方式自动调整nginx入口控制器:

  1. Kubernetes' Horizo​​ntal Pod Autoscaler。
  2. https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/multiple-ingress-controllers使用多个nginx入口控制器。在这种方法中,您还需要多个nginx入口资源来对后端pod的流量进行负载均衡。 https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example有nginx的示例/示例入口资源。
  3. "最少连接" (least conn)配置与nginx的自动缩放无关。它是nginx使用的负载平衡算法,可以使用ConfigMaps在nginx配置文件(round robin)中更改为其他(ip hashnginx.conf)。