Kubernetes调度器是否在队列中(而不是并行)将pod逐个分配给节点?
基于此,我猜可能是这种情况,因为它提到节点是循环迭代的。
我想确保pod调度不是并行进行的。
简短回答
考虑到kube-scheduler
在调度pod时执行的所有进程,答案是是.
调度程序和pod
对于每个新创建的pod或其他未调度的pod, kube-scheduler为它们选择运行的最佳节点。但是,每个容器在豆荚对资源和每个pod也有不同的要求吗有不同的要求。因此,需要对现有节点进行修改根据具体的调度需求进行筛选。
集群中满足Pod调度要求的节点个数称为可行节点。如果没有合适的节点,pod在调度程序能够放置它之前保持未调度状态。
调度程序为Pod找到可行的节点,然后运行一组功能得分可行的节点和选择一个节点在运行Pod的可行选项中得分最高。调度器然后在调用的进程中通知API服务器此决策绑定。
Reference - kube-scheduler.
调度程序确定哪些节点是每个Pod的有效位置在调度队列根据约束条件和可用性资源。
Reference - kube-scheduler - overview .
简而言之,kube-scheduler
一个接一个地拾取pod,评估它们及其请求,然后继续寻找合适的feasible
节点来调度pod。
调度程序和节点
提到的链接与节点相关,以提供公平的机会在所有feasible
节点上运行pod。
集群中满足Pod调度要求的节点为称为Pod的可行节点
这里的信息与默认的kube-scheduler
有关,有可以使用的解决方案,甚至可以实现自己编写的解决方案。也可以在集群中运行多个调度器。
的有用链接:
- 在kube-scheduler中选择节点
- Kubernetes调度器