【问题标题】:AKS cluster autoscaller profiles modificationAKS 群集自动缩放程序配置文件修改
【发布时间】:2021-12-24 18:47:22
【问题描述】:

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

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

  • 假设可以使用 pods requests 值来估计和计算节点利用率,并且不需要考虑限制范围,因为启用了 auto scaller

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

【问题讨论】:

标签: azure kubernetes azure-aks


【解决方案1】:

假设,

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

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

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

还可以将集群属性“scaleDownUtilizationThreshold”的自动缩放器配置文件修改为“0.5”,以增加 %.. 以及是否建议将其增加到 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 中的可分配资源之间产生差异。 [Reference]

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

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

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    • 2020-12-08
    • 2019-09-10
    • 2021-02-16
    • 1970-01-01
    • 2021-06-03
    相关资源
    最近更新 更多