我正在运行一个带有 HPA 的 Kubernetes 集群 v1.16(目前是 GKE 上的最新版本),它根据自定义指标(特别是从谷歌云监控获取的 rabbitmq 消息计数)扩展部署。
问题
当消息计数暂时很高时,部署会非常快速地扩展到最大 pod 计数。
信息
HPA --horizontal-pod-autoscaler-sync-period 在 GKE 上设置为 15 秒,据我所知无法更改。
我的自定义指标每 30 秒更新一次。
我相信导致这种行为的原因是,当每 15 秒队列中的消息计数很高时,HPA 会触发扩展,并且在几个周期后它会达到最大 pod 容量。
在 kubernetes api v1.18 中,您可以控制放大稳定时间,但我在 v1.16 中找不到类似的功能。
我的问题
如何使 HPA 逐步扩大规模?
编辑 1
我的一项部署的示例 HPA:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: my-deployment-hpa
namespace: production
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
minReplicas: 6
maxReplicas: 100
metrics:
- type: External
external:
metricName: "custom.googleapis.com|rabbit_mq|v1-compare|messages_count"
metricSelector:
matchLabels:
metric.labels.name: production
targetValue: 500