计算RS.spec.replicas与activePods数量的diff,判断缩容还是扩容;缩扩都分批处理,一批最多500个Pod
<font color="#e74f4c"><b>【缩容】</b></font>:按照以下顺序找到要删除的pods:
未分配Node > 分配Node
Pendding > PodUnknown < PodRunning
NotReady > Ready
LowerDeleteCost > HigherDeleteCost (删除代价低的优先)
NodeColocatedCount:More > Less (同Node上,包含同Rs pod数量多的优先)
ReadyPod : empty time > less time > more time(同Ready的Pod,Ready时间早的优先)
容器Restart次数多的优先
创建时间晚的优先
<font color="#e74f4c">【<b>扩容】</b></font>:分批扩容:第一次扩1个,后续以指数级递增:1,2,4,8,16,32.......;如果k8s不可用导致创建失败,指数级递增扩容能避免大范围失败。