Files
nexus/wiki/concepts/Horizontal-Pod-Autoscaler.md

1.5 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
Horizontal Pod Autoscaler (HPA) concept
Kubernetes
EKS
Autoscaling
Pod
Metrics
ctp-topic-59-achieving-reliability-with-amazon-eks
ctp-topic-64-scaling-out-with-amazon-eks
2026-04-28

Definition

Horizontal Pod Autoscaler (HPA) 是 Kubernetes 标准的工作负载水平扩缩容机制,通过监测 Pod 的资源使用指标CPU、内存或自定义指标自动调整 Pod 副本数,以满足应用负载需求。

Key Mechanisms

  • 指标采集:通过 Metrics Server 获取 CPU/内存利用率指标
  • 副本计算:基于目标阈值计算所需 Pod 副本数
  • 稳定性配置:通过 stabilizationWindowSecondsperiodSeconds 防止震荡flapping
  • 自定义/外部指标:支持通过 Custom Metrics API 和 External Metrics API 集成负载均衡器并发连接数、消息中间件队列深度等业务指标
  • Pod 级而非容器级:当前 HPA 仅考虑 Pod 整体资源消耗,不支持容器级别的独立扩缩

Relationship with VPA

  • HPA:水平扩展(增加/减少 Pod 副本数)
  • VPA (Vertical Pod Autoscaler):垂直扩展(调整单个 Pod 的资源请求)
  • 两者可互补使用HPA 应对流量波动VPA 优化资源分配

Relationship with KEDA

  • KEDA 可通过 Publishes Metrics 模式 为 HPA 供数,实现指标驱动与事件驱动的混合扩缩容

Sources