k8s:scheduler

scheduler

作用:scheduler是把待调度的pod通过调度算法和调度策略绑定到某个合适的node上,并把相关信息写入etcd,然后就是kubelet通过api监听到pod事件,之后获取pod清单,下载镜像启动容器。

三要素:
待调度的pod列表
可用的node列表
调度算法

k8s默认调度器基础调度原理分两个阶段:过滤+打分

过滤阶段:
遍历所有的node,筛选出符合条件的node,把这些node加入一个集合。

筛选策略:是通过一系列的过滤器,对每个node进行过滤看其是否符合条件,比如检查磁盘、主机、可用端口、节点标签、CPU和内存资源、服务亲和性等等,筛选所有符合条件的node,然后对他们进行打分。

打分阶段:
对每个node进行打分,打分根据一系列的优选策略,然后找出得分最高的node,把pod调度到这个node上。

打分策略:打分需要检查的项,比如:
资源消耗最少
资源使用率最均衡
含有相关label
等都会被打不同分,然后挑出得分最高的node供pod调度。

posted @ 2021-07-08 11:02  大鹏SP  阅读(411)  评论(0编辑  收藏  举报