1.5 KiB
1.5 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Horizontal Pod Autoscaler (HPA) | concept |
|
|
2026-04-28 |
Definition
Horizontal Pod Autoscaler (HPA) 是 Kubernetes 标准的工作负载水平扩缩容机制,通过监测 Pod 的资源使用指标(CPU、内存或自定义指标)自动调整 Pod 副本数,以满足应用负载需求。
Key Mechanisms
- 指标采集:通过 Metrics Server 获取 CPU/内存利用率指标
- 副本计算:基于目标阈值计算所需 Pod 副本数
- 稳定性配置:通过
stabilizationWindowSeconds和periodSeconds防止震荡(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 供数,实现指标驱动与事件驱动的混合扩缩容