Kubernetes之集群调度

我们一起学习 Kubernetes 的集群调度吧!

我们现在有这样一个需求,就是集群中多台服务的配置是不一致的。这就导致资源分配并不是均匀的,比如我们需要有些服务节点用来运行计算密集型的服务,而有些服务节点来运行需要大量内存的服务。而在 k8s 中当然也配置了相关服务来处理上述的问题,那就是 Scheduler。 Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 Pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:

  • 公平
    • 如何保证每个节点都能被分配资源
  • 资源高效利用
    • 集群所有资源最大化被使用
  • 效率
    • 调度的性能要好,能够尽快地对大批量的 Pod 完成调度工作
  • 灵活
    • 允许用户根据自己的需求控制调度的逻辑