K8S控制平面组件调度器kube-scheduler
2023-06-17 本文已影响0人
青衣敖王侯
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这种调度已经不合适了,因为一秒钟可能就要来几百个调度。