Scheduler组件在在整个系统中承担着“承上启下”的重要功能,“承上”是指它负责接收ControllerManager(调度器)创建的新Pod,为其安排一个落脚的“家”——目标Node;“启下”是指定安置工作完成后,目标Node上的kubelet服务进程接管后续工作。
其中Scheduler是怎么给Pod选择Node的呢?
有三步:预选策略,优选策略,选定。
- 预选策略:即遍历所有Node,筛选出符合要求的Node其中包括符合Pod运行时的硬件要求和Node上端口是否被占用等等策略需要注意的是这些策略只要不满足一个就会放弃选择。
- 优选策略:会根据Node亲和性和Pod的亲和还有CPU和内存所有情况等等策略,计算出每个候选Node的积分,积分高者胜出。
- 选定:随机选择一个候选Node做为Pod的“家”。