CCE Cluster AutoScaler 组件说明
更新时间:2026-04-10
概述
CCE 提供节点弹性伸缩能力,用于根据集群负载自动扩缩节点数量。Cluster AutoScaler(简称 CA)是 Kubernetes 社区标准的节点级自动伸缩组件,通过监听集群中 Pending 的 Pod 及节点利用率,自动触发节点组扩缩容,在保证业务可调度的同时优化成本。
组件介绍
Cluster AutoScaler 组件通过以下方式实现节点自动伸缩:
- 扩容:当集群中出现因资源不足而处于 Pending 状态的 Pod 时,自动向节点组中增加节点,使 Pod 得以调度。
- 缩容:当部分节点长时间利用率较低且其上 Pod 可被调度到其他节点时,自动缩容节点以降低成本。
说明:CCE 不支持在组件中心主动安装该组件。仅当用户在节点组上启用弹性伸缩后,系统将自动为集群安装 Cluster AutoScaler 组件。组件安装后,可在组件中心查看状态和日志。
适用场景
- 按需扩容场景:集群中出现因资源不足而 Pending 的 Pod 时,希望自动增加节点,无需人工干预。
- 闲置缩容场景:部分节点长时间利用率较低,希望自动缩容节点以降低成本。
- 与节点组联动场景:仅在需要自动伸缩的节点组上启用弹性伸缩,Cluster AutoScaler 对该节点组进行扩缩容,并遵守节点组的最小/最大节点数等约束。
限制条件
- 集群版本要求:支持 Kubernetes 1.30、1.31、1.32、1.34 版本。
- 安装方式:不支持在组件中心主动安装,仅在节点组启用弹性伸缩时由系统自动安装。
- 节点组要求:需要在节点组中配置弹性伸缩策略(最小/最大节点数等)。
组件原理
扩容原理
- Cluster AutoScaler 持续监听集群中处于 Pending 状态的 Pod。
- 当检测到因资源不足导致的 Pending Pod 时,评估已启用弹性伸缩的节点组。
- 根据扩容算法选择合适的节点组,并向该节点组添加节点。
- 新节点加入集群后,Pending Pod 将被调度到新节点上运行。
缩容原理
- Cluster AutoScaler 定期检查集群中各节点的资源利用率。
- 当节点利用率低于设定阈值,且节点上的 Pod 可被调度到其他节点时,该节点被标记为缩容候选。
- 在满足缩容条件(如连续空闲时间、静默期等)后,驱逐节点上的 Pod 并移除节点。
- 缩容过程遵守节点组配置的最小节点数约束。
使用说明
前提条件
- 已创建 CCE 托管集群 且 集群版本 大于 1.30版本。
- 已创建节点组。
启用弹性伸缩
导航路径:【集群管理 -> 集群列表 -> 目标集群 -> 节点管理 -> 节点组】
- 在创建节点组或编辑已有节点组时,启用弹性伸缩。
- 配置弹性伸缩策略,包括最小节点数、最大节点数等。
- 若该集群尚未安装 Cluster AutoScaler,系统将自动安装该组件。
- 组件安装完成后,可在「组件中心」查看 Cluster AutoScaler 组件状态。
在组件中心查看组件
导航路径:【集群管理 -> 集群列表 -> 目标集群 -> 运维与管理 -> 组件管理】
组件自动安装后,在组件中心展示 Cluster AutoScaler 组件,包括:
- 运行状态:显示组件当前运行状态(运行中/已部署)。
- 版本信息:显示当前安装的组件版本。
- 查看日志:查看组件日志,便于排查伸缩决策与异常。
说明:
- 当有节点组启用弹性伸缩时,组件状态为「运行中」。
- 当所有节点组均关闭弹性伸缩后,组件状态变为「已部署」(副本数为 0)。
参数说明
| 功能项 | 参数说明 |
|---|---|
| 扩容算法 | 随机策略:随机选择一个节点组进行扩容默认策略:如果可扩容节点组有多个,从中选择一个资源浪费最少的节点组进行扩容优先级策略:如果可扩容节点组有多个,会按照节点组的扩容优先级,选择优先级高的节点组进行扩容 |
| 最大并发缩容数 | 节点缩容时,允许同时进行缩容的并发数目 |
| 缩容阈值 | Pod 占用资源/可分配资源百分比小于设定值时开始判断缩容条件。 |
| 触发时延 | 当节点资源使用率低于阈值,并持续该时间段后,集群将触发自动缩容 |
| 静默时间 | 节点进行扩容后,能再次执行缩容所需等待的时间间隔 |
| 不缩容节点 | 开启后,当集群执行节点自动缩容操作时,可以忽略运行在所勾选的Pod所在的节点,确保这些节点不受缩容的影响 |
| Pod终止超时时间 | 缩容节点时等待节点上Pod终止的最长时间 |
| Pod最小副本数 | 节点缩容前,允许每个副本集中 Pod 的最小数量 |
| 开启 DaemonSet Pod 排水 | 开启DaemonSet Pod排水后,节点缩容时会驱逐节点上的DaemonSet Pod |
查看日志
导航路径:【集群管理 -> 集群列表 -> 目标集群 -> 日志管理 -> 组件日志】
在组件日志 Tab 下,可查看 Cluster AutoScaler 组件的运行日志,便于排查以下问题:
- 扩容决策过程
- 缩容决策过程
- 扩容/缩容失败原因
- 节点组选择逻辑
说明:查看日志前,需在组件中心开启日志采集功能。
关闭弹性伸缩
当您不再需要某个节点组的弹性伸缩能力时,可在节点组配置中关闭弹性伸缩。
- 关闭单个节点组的弹性伸缩:该节点组不再由 Cluster AutoScaler 管理。
- 关闭所有节点组的弹性伸缩:组件状态变为「已部署」(副本数为 0),组件不会被卸载,仍可在组件中心查看。
存量组件迁移说明
如果您的集群中已存在通过其他方式安装的 Cluster AutoScaler 组件:
- 当您在节点组编辑弹性伸缩配置时,系统会自动将存量组件转换为托管模式。
- 转换过程不影响业务使用。
- 转换后,您可在组件中心查看托管后的 CA 组件状态,并使用查看日志等功能。
注意事项
- 该组件无法在组件中心主动安装,请通过在节点组中启用弹性伸缩来触发自动安装。
- Cluster AutoScaler 仅对「已启用弹性伸缩」的节点组进行扩缩容,未启用弹性伸缩的节点组不受影响。
- 扩缩容行为遵守节点组配置的最小/最大节点数约束。
- 建议配置合理的缩容阈值和触发时延,避免频繁扩缩容影响业务稳定性。
评价此篇文章
