更新时间:2026-05-20 GMT+08:00
节点池在自动扩容过程中再次触发扩容
问题现象
如果集群中同时存在多种不同规格的未调度Pod,Autoscaler扩容时可能因资源碎片原因导致过度扩容,具体表现为Autoscaler会先触发一次节点扩容,但在节点创建的过程中再次触发扩容。
问题根因
这是由于Autoscaler扩容计算时的算法与调度器的实际行为存在差异:
- 首次扩容:在首次扩容时,Autoscaler采用贪心的策略,计算出的节点数是理论上的“最小值”。
- 节点创建中:当首次扩容触发后,节点还处于创建过程中时,当前的Pod仍旧处于无法调度状态。
- 再次计算:Autoscaler的扩容计算是不停循环进行的,Autoscaler会先将首次扩容时增加的“创建中节点”纳入考量,尝试通过集成的调度器框架将未调度Pod模拟调度到这部分节点上。
- 产生资源碎片进一步扩容:但调度器框架会综合考量资源利用率等因素选择Pod调度的节点,该过程可能会产生资源碎片,导致首次扩容增加的节点无法满足同一批Pod的调度,从而需要进行额外扩容。
解决方案
该现象由于Autoscaler的设计实现导致,可无需特别关注。