节点池弹性伸缩优先级说明
前提条件
如需使用节点规格优先级功能,autoscaler插件版本要求为1.19.35、1.21.28、1.23.30、1.25.20及以上。其中AZ均衡分布策略在1.23.122、1.25.117、1.27.85、1.28.52及以上支持。
弹性扩容策略
遵循节点池优先级和规格优先级的原则弹性扩容。
- 预判规格筛选:
- 通过预判算法,在所有节点池中选择能满足Pending状态的Pod正常调度的规格。
- 考虑因素包括节点资源是否满足Pod的request值,以及nodeSelector、nodeAffinity和taints等是否满足Pod正常调度的条件。
- 另外,部分节点池规格由于资源不足等扩容失败进入5min冷却期后,冷却期间扩容算法会自动过滤此类规格。
- 节点池优先级排序:
- 规格优先级选择:
如果存在多个节点池优先级最高的情况,则根据以下原则挑选优先级最高的规格:
- 首先,选择节点池中优先级最高的规格。
- 其次,如果存在规格优先级相同的情况,根据最小浪费原则,选择既能满足Pod正常调度、浪费资源又最少的规格。
- 最后,如果存在多个规格满足最小浪费原则,则在可用区(AZ)均衡分布的基础上选择。
- 处理资源不足或创建失败情况处理:
如果首选规格因可用区资源售罄或配额不足等原因创建失败,将按照节点池内规格优先级的顺序,尝试创建下一个优先级的规格,原实例进入5分钟的冷却时间。
如果一个节点池中的所有规格都无法成功创建实例,系统将顺延至下一个优先级的节点池继续尝试。
手动扩容策略
当节点池进行手动扩缩容时,您可选择指定的规格进行伸缩。当选择的节点规格资源不足或配额不足时,会导致扩容失败。
设置优先级
关于如何设置节点池规格优先级详情请参见配置集群弹性伸缩策略。