K8s中的集群调度

k8s内pod由scheduler调度,scheduler的任务是把pod分配到合适的node节点上。scheduler调度时会 考虑到node节点的资源使用情况、port使用情况、volume使用情况等等...在此基础之上,我们也可以 控制pod的调度。

Scheduler 是 kubernetes 调度器,主要的任务是把定义的 pod 分配到集群的节点上。但要很多要考虑 的问题:

公平:如何保证每个节点都能被合理分配资源,不要造成一个节点忙死,一个节点闲死局面。

资源高效利用:集群所有资源最大化被使用。内存、硬盘、CPU等因素。

效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作。

灵活:允许用户根据自己的需求控制调度的逻辑 Sheduler 是作为单独的程序运行,启动之后会一直与 API Server保持通讯,获取 PodSpec.NodeName 为空的 pod,对每个 pod 都会创建一个 binding,表明该 pod 应该放到哪 个节点上 。

你可能感兴趣的:(K8S,运维,容器)