在特定条件下扩展Azure Kubernetes群集的正确方法

时间:2019-07-28 15:40:01

标签: azure kubernetes scaling

以下是我在Azure Kubernetes群集扩展上遇到的一个问题的要点:一个AKS群集定义了最多32个节点。有时,它需要超过32个节点,从以下四个中选择两个最佳选择:

集群自动缩放器
容器实例
卧式豆荚洁牙机
手动缩放

以下是Microsoft Azure网站上相关文档的链接:

https://docs.microsoft.com/en-us/azure/aks/concepts-scale

经历了它,我仍然不知道哪两个是最佳选择。如我所见,Cluster Autoscaler和Horizo​​ntal Pod Scaler可以一起工作以实现自动缩放,但是它们必须遵守部署时定义的最大32个节点限制吗?否则,您必须使用容器实例和手动缩放?

我没有足够的现实生活经验来尝试回答这种情况。有经验的人可以提出建议吗?

2 个答案:

答案 0 :(得分:1)

要自动缩放AKS,最好的方法是在AKS群集和HPA中都使用自动缩放。 HPA是Pod的自动缩放,而AKS群集是节点的自动缩放。

HPA设置为满足您为豆荚定义的要求:在这种情况下,豆荚的数量应增加或减少。而AKS自动缩放,这是一个自动规则,如果资源不足,则将增加节点数,如果资源需求少于现有资源,则将减少节点数。群集自动缩放器通常与水平容器自动缩放器一起使用,它也显示在Cluster autoscaler中,如下所示:

  

集群自动缩放器通常与水平窗格一起使用   自动定标器。结合使用时,水平吊舱自动缩放器会增加或   根据应用程序需求减少Pod的数量,并且   群集自动缩放器可根据需要调整运行这些节点的节点数   相应地添加其他豆荚。

对于限制,有三点:

  1. 为自动缩放规则设置的吊舱的最小和最大数量,以符合要求。
  2. 您为自动扩展规则设置的AKS群集节点的最小和最大数量,实际上,这是针对所需的资源设置的,您还可以通过这些设置来限制成本。
  3. limitation用于AKS集群中的节点数。因此,AKS节点的最大数量不得超过100。

希望这将帮助您了解AKS中的自动缩放。还有其他问题,请让我知道。

答案 1 :(得分:0)

有两种缩放方式:手动缩放和自动缩放,如果您遵循手动缩放,则分别为清单文件和Azure AKS门户中的容器(Pods)和节点定义最小或最大限制。

对于自动扩展,增加容器(Pods)的数量成为 HPA(Horizo​​ntal Pod AutoScaler) cluster-autoscaler 用于自动扩展集群节点的职责。

通常,并非将体系结构中的所有组件都需要配置为HPA,因此,您需要专门计划并弄清楚哪些组件或服务需要HPA,哪些不需要。

当然,您不需要手动缩放,因为没人愿意在半夜起床并增加资源限制来应对流量高峰。 HPA没有限制,群集中的节点有限制,我想是100个节点而不是32个。您可以通过在Azure Support Request上进行请求来进一步增加。