首页/云/云与容器速查/HPA 不扩容排查(指标/阈值/上限)

HPA 不扩容排查(指标/阈值/上限)

HPA 不动先查三件事:指标有没有数、当前值有没有越过 target、副本是否已到 min/max。多数『不扩容』是 metrics 缺失或 requests 没设。

云与容器速查云更新于 2026-10-12
看状态kubectl describe hpa 看 Current/Target 与 Events(如 failed to get metrics)
指标管道kubectl top pods 有没有数;没有就查 metrics-server
阈值CPU 目标按 requests 算使用率百分比;requests 缺失则指标 unknown
边界已达 maxReplicas;扩容出的 Pod 未就绪时服务能力也不会立刻提升
方向区分behavior 与缩容稳定窗口只影响缩容,扩容慢另有原因

排查命令

排查命令
kubectl get hpa
kubectl describe hpa web
kubectl top pods
kubectl get deploy web -o jsonpath='{.spec.replicas} {.status.readyReplicas}'
kubectl logs -n kube-system deploy/metrics-server --tail=50
resources.requests 没设时 CPU 利用率没有分母,HPA 一直显示 unknown:先补 requests,再谈阈值调优。

易错点

  • 没设 requests 就配 CPU HPA:指标 unknown,永远不扩
  • 只看 HPA 不看 Deployment:扩出的 Pod 卡在 Pending/未就绪,等于没扩

数据来源与参考

  • Kubernetes Docs:Horizontal Pod Autoscaling
  • Kubernetes Docs:Resource Metrics Pipeline

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌