K8s-ReplicasSet控制器逻辑
2025-10-26 11:26:55 0 举报
K8s-ReplicasSet控制器逻辑
作者其他创作
大纲/内容
开始
根据ReplicasSet(后续简称RS)尽可能匹配Pod,实际根据以下两中条件匹配Pod
根据控制器UID匹配Pod
如果包含孤儿(Orphaned),匹配所有孤儿Pod
给存活的Pod适配声明
给Pod添加本RS的OwnerReference
给Pod添加RS的selector一致的Label
计算RS.spec.replicas与activePods数量的diff,判断缩容还是扩容;缩扩都分批处理,一批最多500个Pod
【缩容】:按照以下顺序找到要删除的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次数多的优先
创建时间晚的优先
【扩容】:分批扩容:第一次扩1个,后续以指数级递增:1,2,4,8,16,32.......;如果k8s不可用导致创建失败,指数级递增扩容能避免大范围失败。
最后根据Pods状态更新RS status
0 条评论
下一页