第 21 节 水平 Pod 自动扩缩容
HPA 是什么
HPA 可以自动增减 Pod 副本数量。流量大就多开 Pod 扩容;流量变小就减少 Pod 缩容,实现服务弹性。
可以依据 CPU、内存或者自定义指标自动调整 Deployment 副本。
关键前提
HPA 计算使用率,拿的是 Pod 的resources.requests,不是 limits。
Pod 不配置 requests,HPA 无法计算,扩缩容直接失效。
工作流程
循环做三件事:监控指标 → 判断是否需要扩缩容 → 修改副本数量。
示例:设置 CPU 使用率超过 50% 就扩容,副本数量限制 1‑5 个。
- 实验过程
- 部署测试业务,一定要写好 requests 资源请求。
- 创建 HPA 规则,规定阈值、副本最大最小数量。
- 给服务打压力,CPU 使用率上涨,HPA 自动增加 Pod;压力降低,自动减少 Pod。
补充知识点
- 不止 CPU 内存,也支持自定义业务指标做扩缩容。
- 会存在抖动问题,K8s 内部有冷却机制,防止短时间反复频繁扩容缩容。