AKS 群集自动调用程序配置文件修改

AKS cluster autoscaller profiles modification

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

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

假设,

node utlisation can be estimated and calculated using the pods requests value and no need to consider the limit range as auto scaler is enabled

只要您不关心什么 process/container 在节点资源匮乏的情况下被驱逐(如果由部署或副本集或有状态集控制,工作负载将在由自动缩放器横向扩展的新节点)。

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

Also is it possible to modify the autoscaler profile of cluster property "scaleDownUtilizationThreshold": "0.5", to more %.. and whether its recommeneded to increase to 70%. ?

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

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

[Reference]

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

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

因此,最终无法就此分享最佳实践,因为用户的用例、架构设计和要求决定了集群自动缩放器的scale-down-utilization-threshold