1.什么是调度器 scheduler

公平性:先到先得的原则,当然也跟优先级有关
Qos:可能用户申请需要10个CPU,但其实它的应用不需要这么高
affinity:用户可能微服务需要将几个Pod放在相同的或者相近的节点上

1.1 Predicate策略


1.2Predicate Plugin工作原理

当进行Pod调度的时候,scheduler会遍历一个个的predicate plugin,每经过一个predicate,就剩下一些节点
1.3Priorities策略


1.4资源需求

1.5磁盘资源需求

1.6Init Containers资源需求

什么是InitContainer:主容器启动之前会启动的一个container,做一些初始化作用,比如JWTToken。Init Containers可以有多个,而且是顺序执行的
1.7 把Pod调度到指定的Node上

1.8Node Affinity

硬亲和:必须满足的条件
优选亲和:不一定非要满足
1.9 Pod Affinity


1.10 Tains和Tolerations

1.11 多租户K8S集群--计算资源隔离

1.11.1 来自生产系统的经验

1.12 优先级调度

1.13 Priority Class

如果想为Pod设置优先级

1.14 多调度器
一个集群可能不同场景下,调度需求是不一样的。比如在线业务,大部分用K8S的调度器就可以了,叫做default scheduler。但离线业务的需求就不一样了,第一它的调度频度会非常的大,可能是基于event这种调度已经不合适了,因为一秒钟可能就要来几百个调度。
1.14.1 一些生产经验

网友评论