专栏首页K8S疑难杂症K8S调度器优选策略讲解(1)简介
原创

K8S调度器优选策略讲解(1)简介

在K8S集群中,调度器负责将客户提交的pod绑到某个node节点上,完成pod调度的调度工作。

在这个调度过程中,调度器的优选策略会对集群中的每个node节点都打上一个分数(score),得分最高的节点,调度器将调度pod到该节点上运行。

调度器的优选策略及相关说明

(基于k8s 1.18版本)

名称

权重(weight)

插件(plugin)

说明

默认

相关特性

取值

决定因素

SelectorSpreadPriority

1

DefaultPodTopologySpread

最小化同一节点或者zone上的Pod数量(属于同一服务或复制控制器)

0-100

InterPodAffinityPriority

1

InterPodAffinity

pod应该或不应该与其他pod放置在相同的拓扑域中

preferredDuringSchedulingIgnoredDuringExecution配置中的weight字段相关

亲和性调度的preferredDuringSchedulingIgnoredDuringExecution配置

NodeAffinityPriority

1

NodeAffinity

优先调度pod到node标签匹配了nodeAffinity的节点

preferredDuringSchedulingIgnoredDuringExecution配置中的weight字段相关

亲和性调度的preferredDuringSchedulingIgnoredDuringExecution配置

TaintTolerationPriority

1

TaintToleration

调度pod到容忍了污点的node

0

节点是否有配置污点,且effect值为PreferNoSchedule

ImageLocalityPriority

1

ImageLocality

优先调度pod到已经具有需求的镜像的node

0-100

节点是否已经具有pod所需求的镜像

BalancedResourceAllocation

1

NodeResourcesBalancedAllocation

平衡node的资源使用

0-100

node节点的资源情况

LeastRequestedPriority

1

NodeResourcesLeastAllocated

优先调度pod到requested使用最少的节点

0-100

node节点的资源情况

MostRequestedPriority

1

NodeResourcesMostAllocated

优先调度pod到requested使用最多的节点

0-100

node节点的资源情况

RequestedToCapacityRatioPriority

1

RequestedToCapacityRatio

待补充

0

NodePreferAvoidPodsPriority

10000

NodePreferAvoidPods

根据节点的注释" scheduler.alpha.kubernetes.io/preferAvoidPods"对节点进行优先级排序

0或者1000000

节点是否配置annotation: "scheduler.alpha.kubernetes.io/preferAvoidPods"

EvenPodsSpreadPriority

1

PodTopologySpread

pod的拓扑扩展约束

EvenPodsSpread

0-100

是否配置拓扑扩展约束

ResourceLimitsPriority

1

NodeResourceLimits

待补充

ResourceLimitsPriorityFunction

1

补充说明:

1 优选策略都会使用某个具体的打分插件来进行打分。

2 插件的打分逻辑中一般都有score逻辑,部分插件还提供了preScore和NormalizeScore逻辑。

3 优选策略EvenPodsSpreadPriorityResourceLimitsPriority是通过特性开启的。虽然不在默认列表中,但是如果对应的特性有开启,则开始工作。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • K8S调度器优选策略讲解(2)SelectorSpreadPriority

    该优选策略的目标是使属于同一个服务(service或者Replication Controllers)的pod尽量均匀的分布在各个节点上或者zone上。在k8s...

    keke.
  • K8S调度器优选策略讲解(3)隐藏的优选策略ImageLocalityPriority

    在pod的一次调度过程中,调度器(scheduler)会有预选策略和优选策略(打分策略),其中预选策略是选择出要调度的候选节点(比如检查node节点本身状态是否...

    keke.
  • Kubernetes K8S之调度器kube-scheduler详解 预选策略(Predicates)优选策略(Priorities)

    在 Kubernetes 中,调度是指将 Pod 放置到合适的 Node 节点上,然后对应 Node 上的 Kubelet 才能够运行这些 pod。

    踏歌行
  • 调度器简介,以及Linux的调度策略

    进程是操作系统虚拟出来的概念,用来组织计算机中的任务。但随着进程被赋予越来越多的任务,进程好像有了真实的生命,它从诞生就随着CPU时间执行,直到最终消失。不过,...

    Vamei
  • istio kiali 亲和性调度

    在开始 kiali 亲和性调度之前,先演示一个简单的例子介绍 pod 选择调度到指定 node:

    py3study
  • K8s 调度系统由浅入深系列:简介

    从CNCF基金会的成立,到Kubernetes社区蓬勃发展,历经6载,17年异军突起,在mesos、swarm等项目角逐中,拔得头筹,继而一统容器编排,其成功的...

    CNCF
  • k8s解决pod调度不均衡的问题

    k8s是通过sceduler来调度pod的,在调度过程中,由于一些原因,会出现调度不均衡的问题,例如:

    dogfei
  • Kubernetes系列学习文章 - 什么是K8S?(二)

    | 导语 上一篇文章我们讲解了什么是“容器云” ,也许你会问我们用什么技术手段来实现容器云?很简单,就是上篇文章结尾说的 "docker + kubernet...

    宝哥@上云专家
  • 从零开始入门 K8s | Kubernetes 网络概念及策略控制

    本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特别好的参考案例。Ku...

    CNCF
  • 微众银行案例|容器化实践在金融行业落地面临的问题和挑战

    作者陈广镇、李焕,微众银行容器平台负责人,拥有大规模 Kubernetes 集群开发运维经验。目前负责微众银行容器项目规划、容器平台架构和开发。 本文整理自微...

    腾讯云原生
  • 使用 K8s 进行作业调度实战分享

    最近在公司的数据同步项目(以下简称 ZDTP)中,需要使用到分布式调度数据同步执行单元,目前使用的方案是将数据同步执行单元打包成镜像,使用 K8s 进行调度。

    张乘辉
  • 看焱融云CSI动态感知如何扩展Kubernetes Scheduler

    Kubernetes Scheduler 的作用是将待调度的 Pod 按照一定的调度算法和策略绑定到集群中一个合适的 Worker Node(以下简称 Node...

    焱融科技
  • 今晚直播|腾讯广告 AMS 容器化之路

    ? 看过这篇文的读者们,你想要的直播干货来了!  案例 | 腾讯广告 AMS 的容器化之路 这篇文章由腾讯广告资深运维工程师张煜所写,分享从业务角度来介绍,云...

    腾讯云原生
  • 直播报名中|腾讯广告 AMS 容器化之路

    ? 看过这篇文的读者们,你想要的直播干货来了!  案例 | 腾讯广告 AMS 的容器化之路 该篇文章由腾讯广告资深运维工程师张煜所写,分享从业务角度来介绍,云...

    腾讯云原生
  • k8s基础之调度策略(二)

    前面说的kubernetes的scheduler用来对pod做调度,整个调度过程通过执行一系列的复杂的算法,最终为每个Pod都计算出一个最佳的目标节点,这一过程...

    dogfei
  • 这应该是最全的K8s-Pod调度策略了

    API Server接受客户端提交Pod对象创建请求后的操作过程中,有一个重要的步骤就是由调度器程序kube-scheduler从当前集群中选择一个可用的最佳节...

    小小科
  • 如何优雅地把握 Serverless 和 Serverful 的平衡点?

    ? 导语 | Serverless 拥有运维和成本优势,但通常需要业务改造。腾讯云弹性容器服务可使容器化用户无需关心节点运维且无需业务改造的情况下,灵活地在 ...

    腾小云
  • Kubernetes 之集群调度

    我们现在有这样一个需求,就是集群中多台服务的配置是不一致的。这就导致资源分配并不是均匀的,比如我们需要有些服务节点用来运行计算密集型的服务,而有些服务节点来运行...

    民工哥
  • K8S Pod调度策略

    kube-scheduler是K8S集群默认的调度器,如果你愿意,也可以自己写一个调度组件来替代kube-scheduler,在实际应用中,kube-sched...

    用户2020431

扫码关注云+社区

领取腾讯云代金券