使用 CPA + CA 预热扩容 Node
概述
在 Kubernetes 集群中,业务 Pod 扩容时如果资源不足,Cluster Autoscaler (CA) 会扩容节点,但通常需要 2-5 分钟,导致业务 Pod 长时间 Pending。
本文介绍通过 Cluster Proportional Autoscaler (CPA) 管理低优先级占位 Pod,提前触发 CA 扩容,业务 Pod 获得秒级响应(5-10 秒),响应速度提升 24-60 倍。这种思路和这种思路和阿里云基于ack-autoscaling-placeholder实现容器秒级伸缩 是类似的
工作原理
核心流程:
- CPA 根据节点数量自动管理占位 Pod(运行 pause 容器,最低优先级)
- 业务 Pod 扩容时立即抢占占位 Pod 资源
- 占位 Pod 进入 Pending 状态,触发 CA 扩容节点
- 新节点就绪后,占位 Pod 重新调度,恢复资源缓冲池
优势:
- 部分业务 Pod 立即获得资源(5-10 秒 vs 2-5 分钟)
- 保持集群始终有一定比例的资源缓冲
- pause 容器实际消耗极少(~1MB 内存,~0.001 核 CPU)
适用场景:
- 在线业务(Web、API)对响应时间敏感
- 突发流量场景(秒杀、营销活动)
- 资源规格统一的业务
- 可承受 10-30% 资源预留成本