1

我们在 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 个。现在我发现很少有信息是否应该缩放(每个有 1 个 pod),如果应该缩放,怎么做?

我试过跑步

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

它暂时将其缩放为 3 个 pod,但片刻之后,它又被缩小了。

再说一遍,这些应该被缩放吗?为什么?如何?

编辑

对于那些像我一样错过它的人:AKS addon-http-application尚未准备好投入生产,它可以让您快速设置并开始试验。这就是为什么我无法正确缩放它的原因。

阅读更多

4

2 回答 2

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 的更多信息,请点击此处

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

于 2018-11-14T19:00:49.273 回答
1

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

于 2018-11-14T22:59:28.947 回答