为什么Kubernetes v1.12不再需要高级延迟?

时间:2019-08-28 14:49:42

标签: kubernetes autoscaling

在Kubernetes documentation for horizontal pod autoscalers中,它声明从版本1.12开始,“新的算法更新消除了对高级延迟的需求”

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

也有一些关于adding HPA configurations for scale delay的讨论。

什么变化消除了高档延误的需要?

1 个答案:

答案 0 :(得分:3)

有几处更改(引用发行说明中的​​内容):

  • 替换pod初始化时禁止放大的禁止窗口,而忽略CPU采样。 (#67252@jbartosik
  • 通过删除禁止放大的窗口来加快HPA对度量标准更改的反应。 (#66615@jbartosik

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

  • 在HPA控制器中停止计数软删除的Pod,以进行缩放,以避免软删除的Pod错误地影响按比例放大副本计数的计算。 (#67067@moonek
  • 为避免软删除的容器不正确地影响按比例放大副本计数的计算,HPA控制器将停止计数软删除的容器以进行缩放。 (#67067@moonek)(与上面相同)

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

  • 用缩小比例稳定窗口替换缩小比例禁止窗口。现在,HPA不再需要在缩小之间等待固定的时间,而是将其缩小到在缩小稳定窗口期间的最高建议。 (#68122@krzysztof-jastrzebski

与该更改有关的更多文档是here