kube-scheduler的基本工作工作是依据各种调度算法将Pod绑定(bind)到最合适的工作节点,整个调度流程分为两个阶段:预选策略(Predicates)和优选策略(Priorities)。

预选(Predicates):输出是所有节点,输入是满足预选条件的节点。kube-scheduler依据预选策略过滤掉不满足策略的Nodes。例如,如果某节点的资源有余或者不满足预选策略的条件如“Node的label必须与Pod的Selector统一”时则无奈通过预选。

优选(Priorities):输出是预选阶段筛选出的节点,优选会依据优先策略为通过预选的Nodes进行打分排名,抉择得分最高的Node。例如,资源越富裕、负载越小的Node可能具备越高的排名。

艰深点说,调度的过程就是在答复两个问题:1. 候选有哪些?2. 其中最适宜的是哪个?

具体:https://www.cnblogs.com/kcxg/...
深刻:https://www.infoq.cn/article/...