集群弹性伸缩配置
弹性扩容配置
CCE集群弹性引擎将综合判断整集群的资源情况,当微服务负载高(CPU/内存使用率过高)时水平扩容,增加Pod的数量以降低负载。
节点扩容条件
- 负载无法调度时自动扩容:集群中存在负载实例无法调度时,尝试自动扩容已开启弹性伸缩的节点池。若Pod已经设置亲和某个节点,则不会自动扩容节点。
该功能可以和HPA策略配合使用,具体请参见使用HPA+CA实现工作负载和节点联动弹性伸缩。
- 自定义节点弹性策略开关:根据节点弹性策略自动扩容节点池,默认开启。

- 若负载无法调度时自动扩容执行成功,则会跳过指标规则逻辑,进入下一次判定周期。
- 若负载无法调度时自动扩容执行失败,将执行指标规则逻辑。
节点扩容资源上限
- 节点数量:扩容时,集群下所有节点数量的上限,超过该值时将不再扩容。默认为集群管理规模的节点上限。
- CPU核数:扩容时,集群下所有节点CPU核数之和的上限,超过该值时将不再扩容。默认不限。
- 内存(GiB):扩容时,集群下所有节点内存之和的上限,超过该值时将不再扩容。默认不限。

统计节点、CPU和内存总数时,包含自定义节点池的不可用节点,但是不包含默认节点池中的不可用节点。
节点池扩容优先级
节点池列表可通过拖拽调整扩容优先级,包年包月计费的节点池不支持弹性扩容。
弹性缩容配置
CCE集群弹性引擎将综合判断整集群的资源情况,在满足负载迁移后能够正常调度运行的前提下,自动筛选节点来进行缩容。
节点缩容条件
集群下的节点默认遵循默认缩容条件,当节点池自定义缩容条件后,该节点池下的节点优先遵循自定义缩容条件。
参数 |
说明 |
---|---|
默认缩容条件 |
当节点的CPU和内存分配率(CPU和内存需同时满足)连续一段时间(默认10分钟)低于一定百分比(默认50%)时,或节点处于不可用状态下超过一定时间(默认20分钟)会触发集群缩容操作。 分配率 = 所有Pod资源申请量之和 / 节点可用资源量 (Node Allocatable) 如果勾选“忽略DaemonSet类容器预分配的CPU与内存”,在计算节点资源是否超过缩容阈值时,不会计算DaemonSet类容器的资源请求值。由于DaemonSet会在每个节点上预占一部分资源,如果未勾选该配置,对于某些小规格节点,即使节点上没有运行其他应用的Pod,DaemonSet类容器的资源请求值就已经超过缩容阈值,节点可能永远不被缩容。 |
自定义缩容条件(可选) |
支持为每个节点池配置缩容条件,当节点池中节点的CPU和内存分配率(CPU和内存需同时满足)连续一段时间(默认10分钟)低于一定百分比(默认50%)时,会触发该节点池缩容。 自定义缩容条件在CCE集群弹性引擎插件版本为1.25.181、1.27.152、1.28.120、1.29.81、1.30.48、1.31.10及以上支持。当节点池中的所有规格均未开启自动伸缩功能时,为节点池配置自定义缩容条件将不会生效,节点池开启自动伸缩功能请参见配置节点池弹性伸缩策略。 |
缩容例外场景 |
节点满足以下例外场景时,即使节点资源或状态满足缩容条件,不会被CCE集群弹性引擎自动缩容。
|
名称 |
说明 |
默认值 |
---|---|---|
缩容并发数 |
最多支持多少个空闲节点同时缩容。 缩容并发数只针对完全空闲节点,完全空闲节点可实现并发缩容。非完全空闲节点则只能逐个缩容。
说明:
节点在缩容的时候,若节点上的Pod不需要驱逐(DaemonSet的Pod认为不需要驱逐),则认为该节点为完全空闲节点,否则认为该节点为非完全空闲。 |
10 |
检查周期 |
节点被判定不可缩容后能再次启动检查的时间间隔。 |
5min |
冷却时间 |
集群触发弹性缩容后,再次启动缩容评估的冷却时间。
说明:
集群中如果同时存在自动扩容和自动缩容的场景,建议配置该参数为0min,避免由于部分节点池持续扩容或者扩容失败重试而阻塞整体缩容节点行为,导致非预期的节点资源浪费。 |
10min |
集群触发弹性扩容后,再次启动缩容评估的冷却时间。 |
10min |
|
集群触发弹性缩容失败后,再次启动缩容评估的冷却时间。 |
3min |