背景
CPU 很低但请求队列越来越长时,仅靠 CPU 扩容可能不够。HPA 指标必须与实际瓶颈和单副本处理能力建立关系。
核心判断
- CPU utilization 依赖合理的 requests,先确认分母与指标可用性。
- 队列型任务考虑 backlog 或处理延迟等业务信号。
- 设定扩缩容范围、稳定窗口和依赖容量,避免副本数增长压垮数据库。
最小示例
下面保留核心逻辑;业务类型、调用入口和环境配置按项目补齐。
metrics:
- type: Resource
resource: { name: cpu, target: { type: Utilization, averageUtilization: 70 } }
behavior: { scaleDown: { stabilizationWindowSeconds: 300 } }
边界与误区
配置是 HPA spec 片段,还需 scaleTargetRef 与副本范围。扩容不会即时完成,镜像拉取和启动预热都属于响应延迟。
验证方式
用阶梯流量观察期望副本、实际就绪数、队列与 p99;再撤掉负载,确认缩容没有导致反复抖动。
小结
选择与瓶颈和 SLO 相关的指标,设置稳定窗口和最大副本避免扩缩容震荡。