Kubenetes 的 Scheduler 的作用主要是将等待被调度的 Pod 按照特定的调度算法那和带哦度策略绑定到集群中合适的 Node 上,这个绑定的动作在 K8S 里称为 Bind。
- 待调度的 Pod 列表 PodList
- 待调度的 Node 列表 NodeList
- 调度算法和策略 AlgorithmProvider
其作用说明白了,就是将哪个 Pod 调度到哪个 Node 上的信息写到 etcd 上,供 Kubelet 来获取。
默认的调度流程分为两步。
- 预选 predicates
- 优选 priority
需要注意,kube-schduler 服务是依赖于 kube-apiserver 的。