扩展Azure Nginx入口控制器

时间:2018-11-14 15:17:33

标签: azure kubernetes kubernetes-ingress azure-aks nginx-ingress

我们在Azure(aks)上有一个K8s群集。在该集群上,我们在安装了nginx-ingress控制器的设置上添加了一个负载均衡器。

查看部署:

addon-http-application-routing-default-http-backend       1
addon-http-application-routing-external-dns               1 
addon-http-application-routing-nginx-ingress-controller   1

我看到每次跑步都有1次。现在,我发现几乎没有信息可以缩放这些缩放比例(每个缩放一个荚),如果应该缩放,又如何?

我尝试跑步

kubectl scale deployment addon-http-application-routing-nginx-ingress-controller --replicas=3 

暂时将其缩放到3个窗格,但过一会儿,它再次缩小。

再说一遍,这些应该扩展吗?为什么?怎么样?

编辑

对于那些像我一样错过它的人:AKS addon-http-application还没有准备好进行生产,可以在那里快速进行设置并开始尝试。这就是为什么我无法正确缩放它的原因。

Read more

2 个答案:

答案 0 :(得分:2)

通常就是您的操作方式:

$ kubectl scale deployment addon-http-application-routing-nginx-ingress-controller --replicas=3

但是,我怀疑您配置了HPA,它会根据负载或某些度量标准进行放大/缩小,并且minReplicas规范设置为1。您可以通过以下方式进行检查:

$ kubectl get hpa
$ kubectl describe hpa <hpa-name>

如果是这种情况,您可以通过修补HPA来扩大规模:

$ kubectl patch hpa <hpa-name> -p '{"spec": {"minReplicas": 3}}'

或手动编辑:

$ kubectl edit hpa <hpa-name>

有关HPA here的更多信息。

是的,应该根据负载来放大和缩小入口控制器。

答案 1 :(得分:1)

在AKS中,作为托管服务,此“系统”工作负载(如kube-dns和入口控制器)由服务本身管理,并且用户无法修改(因为它们被标记为{{1} },这会强制当前配置反映主服务器上addonmanager.kubernetes.io/mode: Reconcile磁盘上的内容。