我们可以在Kubernetes中使用HPA在固定块中伸缩pod吗?



我有一个web应用程序托管在EKS和有一个矩阵在适当的CPU利用率水平扩展pod。

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

但是我希望pod的数量总是以5的倍数增加,以3的倍数减少。这可能吗?

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

最接近的设置scaleDownscaleUp策略。

在示例下面(注释)(这将与v2beta2api版本一起工作),该部分应位于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的确切数量,它只是一个策略。但是,如果工作负载的增加或减少发生得很快,它应该接近您希望看到的行为。

有用的链接:

  • 支持可配置的缩放行为

最新更新