【问题标题】:How to set cooldown period for the Kops cluster autoscaler?如何为 Kops 集群自动扩缩器设置冷却时间?
【发布时间】:2020-10-23 08:20:32
【问题描述】:

自动缩放插件效果很好,但它默认为不需要的节点冷却 10 分钟。由于 AWS 按秒计费,我们希望更快地缩减规模以降低成本。

是否可以在 kops InstanceGroup 或集群自动扩缩器中配置冷却时间?

【问题讨论】:

    标签: kubernetes autoscaling kops


    【解决方案1】:

    https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#i-have-a-couple-of-nodes-with-low-utilization-but-they-are-not-scaled-down-why

    不需要节点的时间少于 10 分钟(可通过 --scale-down-unneeded-time 标志配置)

    原来如此

              command:
                - ./cluster-autoscaler
                ...
                - --scale-down-unneeded-time=5m
    

    【讨论】:

      【解决方案2】:

      您需要在部署配置文件中定义自动缩放器时应用--scale-down-unneeded-time 标志:

      这是一个例子:

       command:
         - ./cluster-autoscaler
         - --cloud-provider=aws
         - ...
         - --scan-interval=25s
         - --scale-down-unneeded-time=30s
      

      还可以添加--scan-interval 标志。

      还要记住,短暂的冷却时间会导致过度缩放/缩放不足。

      冷却持续时间应该是至少目标指标在扩展事件后达到其新“正常”所需的时间。如果您的 CPU 使用率在扩展 2 倍后需要 3 分钟才能下降约 50%,那么少于 3 分钟的冷却时间会导致 AWS 在之前的扩展有时间对您的指标生效之前再次扩展,导致它超出必要的扩展。

      看一看:autoscaling-awskubernetes-autoscalerautoscaler-aws-kubernetes

      【讨论】:

      • IMO,--scan-interval=25s 并不好。保持默认为10s 或更少响应更灵敏。
      • 嗨,@RammusXu 这只是一个例子。这个标志非常有用,这就是我添加它的原因。您将设置多少秒取决于您。正如您所说,默认情况下它是 10 秒。较低的值也更好,但我将此值调整为缩减不需要的时间。
      猜你喜欢
      • 2018-05-22
      • 2020-03-12
      • 2021-04-10
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      相关资源
      最近更新 更多