Scheduler是Kubernetes 的调度器,主要的任务是把定义的Pod分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:
代码语言:javascript复制公平:如何保证每个节点都能被分配资源
资源高效利用:集群所有资源最大化被使用
效率:调度的性能要好,能够尽快地对大批量的Pod完成调度工作
灵活:允许用户根据自己的需求控制调度的逻辑
Sheduler是作为单独的程序运行的,启动之后会一直监听API Server,获取PodSpec.NodeName为空的Pod,对每个Pod都会创建一个 binding,表明该Pod应该放到哪个节点上