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



在水平 pod 自动缩放器的 Kubernetes 文档中,它指出从版本 1.12 开始,"新的算法更新消除了对高档延迟的需求">

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

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

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

有几个变化(引用自发行说明(:

  • 将纵向扩展禁止窗口替换为忽略 Pod 初始化时收集的 CPU 样本。(#67252, @jbartosik(
  • 通过删除放大禁止窗口,加快 HPA 对指标变化的反应。(#66615, @jbartosik(

    • 向上扩展禁止窗口可防止HPA根据Pod 初始化期间收集的指标做出纵向扩展的决定(这可能是无效的,例如,Pod 可能正在使用大量 CPU,尽管没有做任何"实际"工作(。
    • 为避免这种负面影响,请仅使用以下 Pod 中的每个容器指标:
    • 就绪(因此有关它们的指标应该是有效的(,或者
    • 未就绪,但创建和上次就绪更改时间戳相隔 10 秒以上(以前已准备就绪的 Pod 至少在某些情况下(Pod 由于过载而未就绪(非常有用(。
  • 水平容器自动缩放程序默认更新间隔已从 30 秒增加到 15 秒,从而缩短了指标更改的 HPA 响应时间。(#68021, @krzysztof-亚斯特热布斯基(

  • 停止在 HPA 控制器中出于缩放目的对软删除的 Pod 进行计数,以避免软删除的 Pod 错误地影响纵向扩展副本计数计算。(#67067, @moonek(
  • 为避免软删除的 Pod 错误地影响纵向扩展副本计数计算,HPA 控制器将出于缩放目的停止对软删除的 Pod 进行计数。(#67067, @moonek((同上(

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

  • 将"缩小禁止窗口"替换为"缩小稳定窗口"。HPA 现在不是在缩减之间等待固定的时间段,而是在缩减稳定窗口期间缩减到最高建议。(#68122, @krzysztof-亚斯特热布斯基(

此处提供了与该更改相关的更多文档。

最新更新