Kubernetes HPA 信号:CPU 高不一定代表该扩容

背景 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 相关的指标,设置稳定窗口和最大副本避免扩缩容震荡。

2026年10月6日 · 1 分钟 · BvBeJ