首页 > 解决方案 > AKS 群集自动扩缩程序配置文件修改

问题描述

我们正在使用 AKS 集群 1-19.11 和我们的用户池,其中运行的应用程序 pods 处于使用状态(仅占消耗量的 30%)。因此,我们正在考虑通过减少节点池的节点数来优化成本。

因此,希望在计划减少节点数时考虑更多细节。

标签: azurekubernetesazure-aks

解决方案


假设,

可以使用 pods requests 值估计和计算节点利用率,并且无需考虑限制范围,因为启用了自动缩放器

只要您不关心在节点资源不足的情况下哪些进程/容器会被驱逐(如果由部署或副本集或有状态集控制,则工作负载将在扩展的新节点中复活由自动缩放器)。

但是,在大多数情况下,您的工作负载会有某种优先级,并且您希望相应地设置阈值(限制),这样您就不必处理内核驱逐重要进程(可能不是导致饥饿但在评估发生时正在使用最高资源)。

也可以将集群属性“scaleDownUtilizationThreshold”的自动缩放器配置文件修改为“0.5”,以增加 %.. 以及是否建议将其增加到 70%。?

是的,scale-down-utilization-threshold可以使用以下命令更新 Cluster Autoscaler Profile 的值:

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --cluster-autoscaler-profile scale-down-utilization-threshold=<percentage value>

[参考]

AKS 使用节点资源来帮助节点作为群集的一部分运行。这种用法可能会在节点的总资源与AKS 中的可分配资源之间产生差异。[参考]

现在scale-down-utilization-threshold是节点利用率级别,定义为请求资源的总和除以可分配容量,低于该级别的节点可以考虑缩减。

因此,最终无法在这方面共享最佳实践,因为用户的用例、架构设计和要求决定scale-down-utilization-threshold了集群自动缩放器应该是什么。


推荐阅读