在水平 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-亚斯特热布斯基(
此处提供了与该更改相关的更多文档。