标准答案
- 基于 CPU 利用率时通常相对于 Pod 的 CPU request 计算,request 不合理会改变扩缩容判断。
- 自定义指标可以使用请求速率、队列积压或延迟,但必须定义采集、聚合、窗口和异常数据处理。
- HPA 计算出更多副本后还要能调度、拉取镜像并通过 readiness;资源不足时副本数可能增加但 Pod 仍 Pending。
- 扩缩容要设置稳定窗口、上下限和缩容保护,避免指标抖动造成频繁变更。
题目解析
HPA 根据目标指标计算期望副本数,CPU 利用率通常相对于 request 计算,因此 request 的大小会直接影响结果。自定义指标可以表达请求速率、队列长度或并发,但必须明确采集窗口、聚合、缺失值和异常值处理。
HPA 只负责提出副本期望,新的 Pod 还要通过调度、拉镜像、启动和 readiness 才能提供容量。CPU 低但队列高,可能是单请求锁、I/O、连接池或下游瓶颈;扩容器资源不足时副本数会增加而 Pod 仍 Pending。
常见误区
- 误区:只用 CPU 指标解决队列积压。改正:选择能反映业务瓶颈的队列、请求速率、并发或延迟指标。
- 误区:忽略 request 和指标采集延迟。改正:校准 request、观察窗口、稳定窗口和扩容后就绪时间。