Kubernetes HPA 全景解析:工作原理、实战与问题排查
一、HPA 是什么?
HPA(Horizontal Pod Autoscaler) 是 Kubernetes 提供的一种 水平扩缩容机制。
它通过监控应用的负载指标(CPU、内存、自定义指标等),自动调整 Pod 的副本数量,保证应用能够平稳应对流量波动。
核心特点
- 水平扩缩容:通过增加或减少 Pod 数量来应对负载,而不是修改单个 Pod 的 CPU/内存。
- 指标驱动:依赖 metrics-server 或自定义指标(如 Prometheus Adapter)。
- 定期评估:默认每 15 秒轮询一次。
- 计算公式:
- 期望副本数 = ceil[当前副本数 × (当前指标值 ÷ 目标值)]
- 最终结果受 minReplicas 与 maxReplicas 限制。
二、为什么 HPA 配置了却不生效?
这是常见问题,下面是逐步排查思路:
1️⃣ 检查 HPA 状态
kubectl get hpa <hpa-name> -n <namespace>
kubectl describe hpa <hpa-name> -n <namespace>
重点关注:
- REFERENCE:目标 Deployment/StatefulSet 是否正确。
- TARGETS:
- <unknown> → HPA 拿不到指标,

最低0.47元/天 解锁文章
1422

被折叠的 条评论
为什么被折叠?



