searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

K8s中的几个优选算法(函数)简介

2023-08-31 08:29:32
17
0

经过Predicate预选过滤之后,Kubernetes调度器会使用优选打分算法来评估每个节点的适合程度,以选择最佳的节点来调度Pod。

以下是Kubernetes中常见的几种优选打分算法:

  1. ResourceRequestsandLimits(资源请求和限制):最基本的打分算法,根据Pod的资源请求和限制与节点的可用资源进行比较。调度器会给予资源需求更低、剩余资源更多的节点较高的分数。

  2. SelectorSpreadPriority(选择器分散优先级):用于确保Pod均匀分布在集群中,避免将大量Pod调度到同一节点上。调度器会给予已经拥有较多Pod的节点较低的分数,以鼓励均衡分布。

  3. BalancedResourceAllocation(资源平衡分配):通过考虑节点上的资源使用情况,尝试使整个集群中的资源利用率更均衡。调度器会给予资源利用率较低的节点较高的分数。

  4. NodeAffinity: 节点亲和性。根据Pod中的nodeSelector对节点进行检查,能成功匹配的数量越多,得分越高。

这些打分算法可以根据用户的需求进行组合和定制,并且可以使用自定义的扩展插件来添加其他的打分规则。Kubernetes的调度器框架提供了灵活的机制,允许用户根据自己的场景和需求进行调度算法的定制和扩展。

需要注意的是,Kubernetes的调度器还会考虑其他因素,如节点健康状态、Pod的调度约束、亲和性/反亲和性规则等。这些因素都会影响节点的打分和最终的调度决策。

0条评论
0 / 1000
duhj1
4文章数
0粉丝数
duhj1
4 文章 | 0 粉丝
原创

K8s中的几个优选算法(函数)简介

2023-08-31 08:29:32
17
0

经过Predicate预选过滤之后,Kubernetes调度器会使用优选打分算法来评估每个节点的适合程度,以选择最佳的节点来调度Pod。

以下是Kubernetes中常见的几种优选打分算法:

  1. ResourceRequestsandLimits(资源请求和限制):最基本的打分算法,根据Pod的资源请求和限制与节点的可用资源进行比较。调度器会给予资源需求更低、剩余资源更多的节点较高的分数。

  2. SelectorSpreadPriority(选择器分散优先级):用于确保Pod均匀分布在集群中,避免将大量Pod调度到同一节点上。调度器会给予已经拥有较多Pod的节点较低的分数,以鼓励均衡分布。

  3. BalancedResourceAllocation(资源平衡分配):通过考虑节点上的资源使用情况,尝试使整个集群中的资源利用率更均衡。调度器会给予资源利用率较低的节点较高的分数。

  4. NodeAffinity: 节点亲和性。根据Pod中的nodeSelector对节点进行检查,能成功匹配的数量越多,得分越高。

这些打分算法可以根据用户的需求进行组合和定制,并且可以使用自定义的扩展插件来添加其他的打分规则。Kubernetes的调度器框架提供了灵活的机制,允许用户根据自己的场景和需求进行调度算法的定制和扩展。

需要注意的是,Kubernetes的调度器还会考虑其他因素,如节点健康状态、Pod的调度约束、亲和性/反亲和性规则等。这些因素都会影响节点的打分和最终的调度决策。

文章来自个人专栏
do's
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0