首页/云/云与容器速查/HPA 水平自动扩缩容
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条容器与 Docker106 条
Kubernetes68 条
容器排障33 条

HPA 水平自动扩缩容

按指标自动调整副本数:autoscaling/v2 支持 CPU/内存/自定义与外部指标。CPU 利用率按 requests 计算——没设 requests 的 Deployment 扩不起来。

云与容器速查云更新于 2026-10-12
对象HorizontalPodAutoscaler,scaleTargetRef 指向 Deployment 等
CPU 指标utilization 相对 requests 的百分比;必须设 resources.requests
副本范围minReplicas / maxReplicas;默认 1-10
行为behavior 控制扩容/缩容速度与稳定窗口
前置metrics-server(资源指标);自定义指标要 adapter

HPA 示例

HPA 示例
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: web
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: web
  minReplicas: 2
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
HPA 扩的是副本数、不是节点数:集群节点容量不够扩出来的 Pod 会 Pending,需配合 Cluster Autoscaler 等。

易错点

  • 忘设 requests:利用率无法计算,HPA 报 unknown 不扩容
  • target 设 90% 又配了紧 throttling:指标失真,扩缩摆动

数据来源与参考

  • Kubernetes Docs:Horizontal Pod Autoscaling

相关工具

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