GKE 自动扩缩器“优化利用率”

Posted

技术标签:

【中文标题】GKE 自动扩缩器“优化利用率”【英文标题】:GKE autoscaler 'optimize-utilization' 【发布时间】:2020-09-24 07:33:06 【问题描述】:

有没有人可以解释 GKE 自动扩缩器的“优化利用”设置与标准自动扩缩器有何不同。它声称在缩减规模方面更具侵略性,但这是否意味着它不考虑 pod 中断预算,是否对最大资源使用有不同的限制(标准方式为 50%)或者是否有 1 分钟的限制在缩小而不是正常的 10 分钟之前?这对我来说都很模糊,我想在打开它之前知道后果。

【问题讨论】:

【参考方案1】:

From Cluster Autoscaler 文档:

optimize-utilization:优先考虑优化利用率而不是保留集群中的备用资源。启用后,Cluster Autoscaler 将更积极地缩减集群:它可以删除更多节点,并更快地删除节点。此配置文件已针对对启动延迟不敏感的批处理工作负载进行了优化。我们目前不建议将此配置文件用于服务工作负载。

在 January 28th 2020 中,自动缩放配置文件已升级为测试版:

将自动缩放配置文件升级为测试版。与 gcloud beta container clusters create 或 gcloud container clusters update 一起使用:--autoscaling-profile=balanced(默认)或--autoscaling-profile=optimize-utilization。

这些是我能找到的关于这个主题的唯一参考资料。

处于测试阶段,产品或功能已准备好供更广泛的客户测试和使用。 Beta 通常是公开宣布的。除非产品条款或特定 Beta 计划的条款中另有规定,否则 beta 版本中没有 SLA 或技术支持义务。 平均测试阶段持续大约六个月。

最近升级为测试版可能意味着它在发布和正确记录之前仍在评估和微调。

官方建议将此方法用于批处理工作负载(作业)而不用于服务工作负载,这表明它尚未准备好用于生产中的所有环境。

我建议您遵循所提供的建议,如果您希望将其应用于服务工作负载,我会等待几个月,然后才能将其提升为通用可用性。

更多参考资料:

https://cloud.google.com/composer/docs/concepts/beta-support https://cloud.google.com/products#product-launch-stages

【讨论】:

此功能现在在 GA 中,但它似乎不像描述的那样工作,而且文档仍然很差。 cloud.google.com/sdk/docs/release-notes#35200_2021-08-10 不清楚它应用优化的频率。我在同一个区域中有 2 个节点,它们的工作负载可以“合并”为一个,但什么也没发生。

以上是关于GKE 自动扩缩器“优化利用率”的主要内容,如果未能解决你的问题,请参考以下文章

GKE 集群自动扩缩器与托管实例组中的自动扩缩器

通过 GKE 资源预留进行 GCE 自动扩缩

如何防止 Kubernetes 水平自动扩缩器缩容?

如何使用 Terraform 配置 AWS EKS 自动扩缩器?

如何为 kops 在 AWS 上安装的 k8s 做集群自动扩缩器?

在 Google Cloud 上的何处配置 Kubernetes 集群自动扩缩器?