【问题标题】:Can we scale pods in/out in fixed chunks using HPA in Kubernetes?我们可以在 Kubernetes 中使用 HPA 以固定块的方式将 Pod 扩展/扩展吗?
【发布时间】:2021-08-26 12:44:30
【问题描述】:

我有一个托管在 EKS 中的 Web 应用程序,并且有一个用于水平扩展 pod 的 CPU 利用率矩阵。

如果当前的 pod 数量为 10,并且我增加了负载(每分钟增加的请求数),那么所需的 pod 数量取决于我增加负载的积极程度,因此可能是 13、16 等等。

但我希望 pod 的数量应始终以 5 的倍数增加并以 3 的倍数减少。这可能吗?

【问题讨论】:

    标签: kubernetes hpa


    【解决方案1】:

    查看文档和一些代码,这看起来不可能强制水平 pod 自动缩放器 (HPA) 缩小或放大 pod 的确切数量,因为它没有标志/选项。

    最接近的方法是设置scaleDownscaleUp 政策。

    示例下方(注意,这将适用于v2beta2 api版本),这部分应位于spec下:

    behavior:
      scaleDown:
        stabilizationWindowSeconds: 300
        policies:
        - type: Pods
          value: 3
          periodSeconds: 15
      scaleUp:
        stabilizationWindowSeconds: 0
        policies:
        - type: Pods
          value: 5
          periodSeconds: 15
    

    这是什么意思:

    • scaleDown 每 15 秒最多执行 3 个 pod。
    • scaleUp 每 15 秒最多执行 5 个 pod。
    • stabilizationWindowSeconds - 当用于扩展的指标不断波动时,稳定窗口用于限制副本的摆动。自动缩放算法使用稳定窗口来考虑过去计算的所需状态以防止缩放

    这并不能保证 HPA 会扩大或缩小指定 pod 的确切数量,这只是一个政策。但是,如果工作量增加或减少会很快发生,它应该接近您希望看到的行为。

    有用的链接:

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 2020-06-15
      • 2022-12-13
      • 1970-01-01
      • 2011-11-21
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      相关资源
      最近更新 更多