作者信息:https://home.cnblogs.com/u/huangjiabobk

在k8S中,Scheduler使用哪两种算法将Pod绑定到worker节点?

在Kubernetes(k8S)中,Scheduler使用两种主要的算法阶段来决定将Pod绑定到哪个worker节点上:

  1. 预选算法 (Predicates)
    预选阶段的主要目标是过滤掉不满足调度条件的节点。Scheduler会根据一系列预定义的预选策略对所有可用节点进行筛选。这些策略可能包括但不限于:检查节点上的资源是否足够(如CPU和内存)、磁盘空间、标签匹配要求、污点与容忍度匹配、以及节点亲和性和反亲和性规则等。只有当节点通过了所有的预选策略后,才会被进一步考虑。

  2. 优选算法 (Priorities)
    在预选阶段之后,剩余的候选节点会进入优选阶段。在此阶段,Scheduler会对符合基本条件的节点进行打分或加权排序,依据的是多种优选函数或者优先级配置。这些优选函数可以用来优化整体集群性能,比如最小化Pod间延迟、最大化资源利用率、保持Pod之间的相对位置等。最终,Scheduler会选择得分最高的节点来绑定Pod。

综上所述,Kubernetes Scheduler首先通过一系列“Pass/Fail”性质的预选策略排除不适合的节点,然后采用优选策略从剩余节点中选择最优解,确保Pod能够高效且正确地部署至合适的worker节点。

posted @ 2024-02-11 20:16  黄嘉波  阅读(60)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波