我们可以在 Kubernetes 中使用 HPA 以固定块扩展 pods in/out 吗?
Can we scale pods in/out in fixed chunks using HPA in Kubernetes?
我有一个托管在 EKS 中的 Web 应用程序,并且有一个矩阵供 CPU 使用水平扩展 pods。
如果 pods 的当前数量是 10,并且我增加了负载(每分钟增加请求数),那么所需的 pods 数量取决于我增加负载的积极程度,所以它可能是 13、16 等
但我希望pods的数量总是以5的倍数增加,以3的倍数减少。这可能吗?
通过文档和一些代码,这看起来不可能强制水平 Pod 自动缩放器 (HPA) 缩小或放大 pods 的确切数量,因为它没有 flags/options。
最接近的是设置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次pods。
scaleUp
每15秒最多执行5次pods。
stabilizationWindowSeconds
- 当用于缩放的指标不断波动时,稳定性 window 用于限制副本的摆动。自动缩放算法使用稳定性 window 来考虑过去计算的期望状态以防止缩放
这并不能保证 HPA 会按比例放大或缩小指定的确切数量 pods,这只是一项政策。但是,如果工作量增加或减少会很快发生,它应该接近您希望看到的行为。
有用link:
我有一个托管在 EKS 中的 Web 应用程序,并且有一个矩阵供 CPU 使用水平扩展 pods。
如果 pods 的当前数量是 10,并且我增加了负载(每分钟增加请求数),那么所需的 pods 数量取决于我增加负载的积极程度,所以它可能是 13、16 等
但我希望pods的数量总是以5的倍数增加,以3的倍数减少。这可能吗?
通过文档和一些代码,这看起来不可能强制水平 Pod 自动缩放器 (HPA) 缩小或放大 pods 的确切数量,因为它没有 flags/options。
最接近的是设置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次pods。scaleUp
每15秒最多执行5次pods。stabilizationWindowSeconds
- 当用于缩放的指标不断波动时,稳定性 window 用于限制副本的摆动。自动缩放算法使用稳定性 window 来考虑过去计算的期望状态以防止缩放
这并不能保证 HPA 会按比例放大或缩小指定的确切数量 pods,这只是一项政策。但是,如果工作量增加或减少会很快发生,它应该接近您希望看到的行为。
有用link: