0
点赞
收藏
分享

微信扫一扫

Kubernetes底层原理 三 Schedule

萧让听雪 03-09 22:45 阅读 3

一、功能定义

  Schedule调度器主要用来计算要部署的Pod应该运行在集群的哪个节点上。他会通过Api-Server的监听机制等待新创建的Pod,然后给每个新的、没有节点集的Pod分配节点,通过Api-Server更新Pod资源的定义信息。

二、调度算法

1.预选策略

判断备选Pod的gcePersistentDisk或AWSElasticBlockStore和备选的节点中已存在的Pod是否存在冲突。

2.PodFitsResources

判断备选节点的资源是否满足备选Pod的需求。

3.PodSelectorMathes

判断备选节点是否包含备选Pod的标签选择器指定的标签。

4.PodFitsHost

判断备选Pod的spec.nodeName域所指定的节点名称和备选节点的名称是否一致。如果一致,则返回true,否则返回false.

5.CheckNodeLabelPresence

如果用户在配置文件中指定了该策略,则scheduler会通过RegisterCustomFitPredicate方法注册该策略。

6.CheckServiceAffinity

该策略用于判断备选节点是否包含策略指定的标签,或包含和备选Pod在相同Service和Namespace下的Pod所在节点的标签列表。 如果存在,则返回true,否则返回false.

7.PodFitsPorts

判断备选Pod所用的端口列表中的端口是否在被选中已被占用,如果被占用则返回false,否则返回true

2.优选策略

1.LeastRequestedPriority

从备选节点列表中选出资源消耗最小的节点。

2.CalculateNodeLabelPriority

该策略用于判断策略列出的标签在备选节点中存在时,是否选择该备选节点。

3.BalancedResourceAllocation

从备选节点列表中选出各项资源使用率最均衡的节点。


举报

相关推荐

0 条评论