如何设置 Kops 集群自动缩放器的冷却时间?
How to set cooldown period for the Kops cluster autoscaler?
自动缩放器插件效果很好,但它默认为不需要的节点设置 10 分钟的冷却时间。由于 AWS 按秒计费,我们希望更快地缩小规模以降低成本。
是否可以在 kops InstanceGroup 或集群自动缩放器中配置冷却时间?
node was unneeded for less than 10 minutes (configurable by --scale-down-unneeded-time flag)
所以,它会喜欢
command:
- ./cluster-autoscaler
...
- --scale-down-unneeded-time=5m
您需要在部署配置文件中定义自动缩放器时应用 --scale-down-unneeded-time
标志:
这是一个例子:
command:
- ./cluster-autoscaler
- --cloud-provider=aws
- ...
- --scan-interval=25s
- --scale-down-unneeded-time=30s
添加 --scan-interval
标记也很有用。
还要记住,短冷却会导致过度缩放/缩放不足。
冷却时间应该 至少 目标指标在缩放事件后达到其新“正常”所需的时间。如果您的 CPU 利用率在扩展 2 倍后下降约 50% 需要三分钟,冷却时间少于三分钟会导致 AWS 在之前的扩展有时间对您的指标生效之前再次扩展,导致它超出必要的横向扩展。
看看:autoscaling-aws, kubernetes-autoscaler, autoscaler-aws-kubernetes.
自动缩放器插件效果很好,但它默认为不需要的节点设置 10 分钟的冷却时间。由于 AWS 按秒计费,我们希望更快地缩小规模以降低成本。
是否可以在 kops InstanceGroup 或集群自动缩放器中配置冷却时间?
node was unneeded for less than 10 minutes (configurable by --scale-down-unneeded-time flag)
所以,它会喜欢
command:
- ./cluster-autoscaler
...
- --scale-down-unneeded-time=5m
您需要在部署配置文件中定义自动缩放器时应用 --scale-down-unneeded-time
标志:
这是一个例子:
command:
- ./cluster-autoscaler
- --cloud-provider=aws
- ...
- --scan-interval=25s
- --scale-down-unneeded-time=30s
添加 --scan-interval
标记也很有用。
还要记住,短冷却会导致过度缩放/缩放不足。
冷却时间应该 至少 目标指标在缩放事件后达到其新“正常”所需的时间。如果您的 CPU 利用率在扩展 2 倍后下降约 50% 需要三分钟,冷却时间少于三分钟会导致 AWS 在之前的扩展有时间对您的指标生效之前再次扩展,导致它超出必要的横向扩展。
看看:autoscaling-aws, kubernetes-autoscaler, autoscaler-aws-kubernetes.