我有一个web应用程序托管在EKS和有一个矩阵在适当的CPU利用率水平扩展pod。
如果当前的pod数量是10,并且我增加了负载(每分钟增加请求数),那么所需的pod数量取决于我增加负载的力度,因此它可能是13、16等。
但是我希望pod的数量总是以5的倍数增加,以3的倍数减少。这可能吗?
通过文档和一些代码,这看起来不可能强制水平pod自动缩放器(HPA)缩小或增加pod的确切数量,因为它没有标志/选项。
最接近的设置scaleDown
和scaleUp
策略。
在示例下面(注释)(这将与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的确切数量,它只是一个策略。但是,如果工作负载的增加或减少发生得很快,它应该接近您希望看到的行为。
有用的链接:
- 支持可配置的缩放行为