Horizontal Pod Autoscaler 依赖明确的指标语义
HorizontalPodAutoscaler 把配置的指标转换为副本建议,因此选择指标与聚合口径本身就是应用设计的一部分。增加副本应该能够降低所测压力,或提升真正有用的吞吐量,否则控制器可能只增加费用,却无法缓解瓶颈。应设置明确的最小与最大副本数,但成本上限不等于性能保障,更不代表到达上限之后仍能处理任何规模的请求。 展示原文算术模型,不是实时观测。历史 Python 模型通过范围不变。模型未包含真实控制器的容差、就绪、稳定窗口与速率策略;不证明集群行为或服务可用。 区分测量与控制 HPA 通常周期性协调,控制器默认同步间隔为十五秒。对于按 Pod 平均的目标,基本计算是当前副本数乘以当前指标与目标指标的比值,再向上取整。CPU 利用率相对于资源 requests 计算,不是相对于 limits,也不是整台节点的总容量。把分母理解错,会让看起来合理的百分比对应完全不同的扩容时机。 跨 Pod 求平均,与对时间序列做移动平均是两回事。Metrics Server 的 CPU 用量来自一个测量窗口,自定义适配器则有自己的查询与取样语义。HPA 并不会统一替每种输入做一个可配置时间窗口的平滑。容差、就绪处理、稳定窗口与速率策略属于控制层,是围绕指标建议的不同机制,不能全部称作“先平滑再决策”。 先确定单位,再讨论目标数字。按 Pod 的自定义指标使用 AverageValue;对象和外部指标可使用 Value 或 AverageValue,扩缩意义不同。整个队列的总积压与每副本平均积压不是可以随意互换的输入。资源利用率还要求提供相应资源请求。即使接口返回正常数字,如果它衡量的不是实际瓶颈,控制器依旧可能做出没有业务价值的动作。 ...