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

标签 kubernetes autoscaling

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

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

还有一些关于adding HPA configurations for scale delay的讨论.

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

最佳答案

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

  • 用不考虑在 pod 初始化时收集的 CPU 样本替换放大禁止窗口。 ( #67252 , @jbartosik )
  • 通过删除放大禁止窗口来加快 HPA 对指标变化的 react 。 ( #66615 , @jbartosik )
  • 扩大禁止窗口保护 HPA 不会根据 pod 初始化期间收集的指标做出扩大规模的决定(这可能是无效的,例如,尽管没有做任何“实际”工作,但 pod 可能正在使用大量 CPU)。
  • 为避免这种负面影响,请仅使用来自以下 pod 的每个 pod 指标:
  • 准备好(因此有关它们的指标应该是有效的),或
  • 未准备好,但创建和上次准备就绪更改时间戳相距超过 10 秒(以前已经准备好的 Pod,因此指标至少在某些情况下(Pod 由于过载而变得未准备好)非常有用)。
  • Horizo​​ntal Pod Autoscaler 默认更新间隔已从 30 秒增加到 15 秒,从而提高了 HPA 对指标更改的 react 时间。 ( #68021 , @krzysztof-jastrzebski )
  • 在 HPA Controller 中停止计算软删除的 pod 以进行扩展,以避免软删除的 pod 错误地影响扩展副本计数计算。 ( #67067 , @moonek )
  • 为避免软删除的 pod 错误地影响扩展副本计数计算,HPA Controller 将停止计算软删除的 pod 以进行扩展。 ( #67067 , @moonek ) (同上)

  • 这是一个相关的更改(引用自发行说明):
  • 用缩小稳定窗口替换缩小禁止窗口。现在,HPA 不再在缩减之间等待固定时间段,而是在缩减稳定窗口期间缩减到最高推荐值。 ( #68122 , @krzysztof-jastrzebski )

  • 与该更改相关的更多文档是 here .

    关于kubernetes - 为什么 Kubernetes v1.12 不再需要升级延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57695084/

    相关文章:

    azure - Azure 应用服务可以获得什么样的 CPU 能力?

    autoscaling - 自动缩放 crate 集群

    css - GWT 自动缩放文本字体大小以适合边界

    kubernetes - 如何防止 Kubernetes 水平自动缩放器缩小?

    kubernetes - 防止K8S HPA在减少负载后删除pod

    kubernetes - 在 Kubernetes 上使用 Istio 时,如何确保 TCP 流量由 Envoy sidecar 代理?

    Gluster 的 Dockerfile ... 创建容器时无法启动服务

    elasticsearch - 流利的位无法解析kubernetes日志

    java - 使用Java api调用Kubernetes Spark Operator

    google-cloud-platform - 为什么我无法选择在 gcloud 中设置 http 负载均衡器时创建的托管实例组?