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

37 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Horizontal Pod Autoscaler (HPA)"
type: concept
tags:
- Kubernetes
- EKS
- Autoscaling
- Pod
- Metrics
sources:
- ctp-topic-59-achieving-reliability-with-amazon-eks
- ctp-topic-64-scaling-out-with-amazon-eks
last_updated: 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 供数,实现指标驱动与事件驱动的混合扩缩容
## Sources
- [[ctp-topic-59-achieving-reliability-with-amazon-eks]]
- [[ctp-topic-64-scaling-out-with-amazon-eks]]