二百四十秒的高建议让六副本保持到四百秒;这条建议过期后,模型在五百四十一秒缩到两个。

水平自动伸缩按需扩缩容

HorizontalPodAutoscaler 根据配置的指标目标调整可伸缩工作负载。它的输出是期望副本数,不是“额外 Pod 已经接收流量”的保证。调度、镜像启动、初始化、就绪状态以及节点容量,都会决定这个建议多久才能转变成真正有用的服务能力。设计控制循环时,必须把这些延迟一起考虑,不能只根据一条公式估计恢复时间。 仅展示原文的算术与列表状态模型。历史 Python 模型执行仍为通过;未测试容差、速率策略、逐 Pod 处理、Kubernetes 协调或真实就绪容量。本次未运行样例。 指标产生的是副本建议 对于简单的逐 Pod 平均值,期望副本等于当前副本数乘以当前指标除以目标指标,再向上取整。比值为二时,在额外控制介入之前会建议翻倍。比值低于一可能建议缩容,但容差、缺失测量、就绪处理、上下限和扩缩行为,都可能阻止或限制最终动作。公式描述起点,不是所有条件下都直接生效的完整算法。 CPU 利用率以资源 requests 为分母。改变请求值,即使用掉的 CPU 没变,也可能改变利用率,所以纵向与横向伸缩需要协调。指标接口必须可用,目标还要支持 scale 子资源。HPA 修改 Deployment 的副本数量,再由 Deployment 控制器管理 ReplicaSet 与 Pod;这几层职责不同,不应把它们统称为一个瞬间完成的操作。 ...

十一月 4, 2027 · 2 分钟 · XB Field Notes
相同单容器 Pod 各请求 200m CPU、目标 60% 时,简化目标为 120m;三个副本各用 160m,未经修正的计算建议四个副本。

HPA 按负载缩放 Deployment 的副本

HorizontalPodAutoscaler 是反馈控制器,不是容量规划器,默认同步间隔为十五秒。根据配置,它读取资源、自定义或外部指标,再更新工作负载的 scale 子资源。基本计算为 desiredReplicas = ceil(currentReplicas * currentMetricValue / desiredMetricValue),之后还要考虑缺失数据、就绪状态、容忍度、稳定窗口及上下界,不能只靠这一行公式预测全部实际行为。 一份看起来正确的 HPA 对象,不证明容量必然及时到位。指标可用性、请求、副本上限、调度及应用启动都会影响结果。应分别查看建议副本数与真实就绪容量;提高期望数量不会制造新节点,也不能自动修好受阻发布。判断伸缩是否有效,必须跟踪从指标到应用接流量的整段过程。 原文算术示意,不是观察到的伸缩事件。保留的 Kubernetes 只读诊断仍为受阻,本次未重跑。建议四个副本不证明四个 Pod 已就绪或应用容量充足。 比值与死区 CPU 利用率目标把实际 CPU 用量与相关请求比较,得到百分比,目标本身也是百分比。如果每个 Pod 只有一个容器,都请求 200m,目标为百分之六十,那么每 Pod 120m 是便于理解的简化等价值。它不是异构 Pod 或所有指标类型通用的分母;多个容器和不同请求会改变聚合结果。 集群默认容忍度为一附近的 0.1。Kubernetes 1.34 的分方向容忍度仍为默认关闭的 alpha 功能;不能假定每个 HPA 都能覆盖它,要先检查特性开关和控制器配置。应把它理解为控制死区,而不是承诺 132m 永不伸缩、133m 必然动作。指标聚合、整数利用率、就绪状态及实现中的算术都会影响边界。忽略其他修正时,三个副本以 160m 对比 120m 目标,会建议四个副本;舍入、速率策略与最终能否调度仍需分别观察,不能从一个毫核数字直接推出真实扩容时刻。 ...

八月 11, 2027 · 1 分钟 · XB Field Notes