我和Kubernetes有个约会

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这种调度已经不合适了,因为一秒钟可能就要来几百个调度。

1.14.1 一些生产经验

上一篇下一篇

猜你喜欢

热点阅读