从 Kubernetes v1.18 开始,v2beta2 API 允许通过 Horizontal Pod Autoscalar (HPA) 行为字段配置缩放行为。我打算将带有自定义指标的 HPA 应用于 StatefulSet。
我正在查看的用例是使用自定义指标(例如我的应用程序上的用户会话数)进行横向扩展,但 HPA 根本不会缩减。K8s SIG-Autoscaling 增强功能也描述了此用例 - “HPA 的可配置缩放速度 >> 故事 4:照常放大,不要缩小”。
behavior:
scaleDown:
policies:
- type: pods
value: 0
用户会话可以保持活跃几分钟到几小时。从 StatefulSet 的 1 个副本开始,随着用户会话数达到上限(使用 Prometheus 收集器公开,然后使用 HPA 自定义指标选项进行配置),应用程序 pod 将向外扩展。新的 Pod 将开始为新用户提供服务。
由于这是一个 StatefulSet 并且不能只是突然缩小,因此我正在寻求有关在新副本上的用户会话下降到 0 时缩小的方法的帮助。上面的链接说缩小可以通过一个单独的过程来控制。不知道该怎么做?寻找一些指针。
谢谢。