首页 > 解决方案 > 为什么 Kubernetes v1.12 不再需要升级延迟?

问题描述

在水平 pod 自动缩放器的 Kubernetes文档中,它声明从 1.12 版开始,“新算法更新消除了对升级延迟的需求”

我已经搜索了有关此更改的信息,包括查看v1.12 更改日志。我看到提到的变化是轮询频率从 30 秒到 15 秒。

还有一些关于为缩放延迟添加 HPA 配置的讨论。

消除高档延迟需求的变化是什么?

标签: kubernetesautoscaling

解决方案


有几处更改(引用自发行说明):

  • 用不考虑在 pod 初始化时收集的 CPU 样本替换放大禁止窗口。(#67252@jbartosik
  • 通过删除放大禁止窗口来加快 HPA 对指标变化的反应。(#66615@jbartosik

    • 扩大禁止窗口保护 HPA 不会根据 pod 初始化期间收集的指标做出扩大决定(这可能是无效的,例如,尽管没有做任何“实际”工作,但 pod 可能正在使用大量 CPU)。
    • 为避免这种负面影响,请仅使用以下 pod 中的每个 pod 指标:
    • 准备好(因此有关它们的指标应该是有效的),或者
    • 未准备好,但创建和上次准备就绪更改时间戳相距超过 10 秒(以前已经准备好的 Pod,因此指标至少在某些情况下(Pod 由于过载而变得未准备好)非常有用)。
  • Horizo​​ntal Pod Autoscaler 默认更新间隔已从 30 秒增加到 15 秒,从而提高了 HPA 对指标更改的反应时间。(#68021@krzysztof-jastrzebski

  • 在 HPA 控制器中停止计算软删除的 pod 以进行扩展,以避免软删除的 pod 错误地影响扩展副本计数计算。(#67067@moonek
  • 为避免软删除的 pod 错误地影响扩展副本计数计算,HPA 控制器将停止计算软删除的 pod 以进行扩展。(#67067@moonek)(同上)

这是一个相关的更改(引用自发行说明):

  • 用缩小稳定窗口替换缩小禁止窗口。现在,HPA 不再在缩减之间等待固定时间段,而是在缩减稳定窗口期间缩减到最高推荐值。(#68122@krzysztof-jastrzebski

与该更改相关的更多文档在此处


推荐阅读