Node Selector和Node Affinity是Kubernetes提供的两种调度策略,它们可以帮助管理员更精确地控制Pod的调度。一、Node SelectorNode Selector是一种标签选择器,用于将Pod调度到具有特定标签的节点上。管理员可以为节点添加标签,并使用Node Selector将Pod调度到具有所需标签的节点上。例如,管理员可以为具有GPU的节点添加标签...
在k8s的调度中,有强制性的nodeSelector,节点亲和性nodeAffinity、Pod亲和性podAffinity、pod反亲和性podAntiAffinity。本篇先对nodeSelector和nodeAffinity...
随着Kubernetes的发展,NodeAffinity逐渐取代了NodeSelector,成为了一种更强大的节点亲和性调度机制。NodeAffinity支持更丰富的匹配规则和操作符,使得我们可以更精确地控制Pod的调度。 NodeAffinity分为两类:硬亲和性(RequiredDuringSchedulingIgnoredDuringExecution)和软亲和性(PreferredDuringSchedulingIgnoredDuringExecution)。硬...
Affinity特征有两种类型,“node affinit” 和“inter-pod affinity/anti-affinity”。 Node affinity跟nodeSelector很像,但有以上两个优点。inter-pod affinity/anti-affinity是对pod的标签进行限制,具有以上三条特性。 nodeSelector可以正常工作,最终将会被弃用,因为node affinity可以表示它可以表示的所有内容。 2.1 Nod...
这次给大家介绍下k8s的亲和性调度:nodeSelector、nodeAffinity、podAffinity、Taints以及Tolerations用法。 一般情况下我们部署的 POD 是通过集群自动调度选择某个节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 POD 的调度,比如我们内部的一些服务 gitlab 之类的也...
给特定的Node设置一个Taint,只让某些特定的应用来容忍这些污点,容忍后就有可能会被调度到此特定Node, 但是也不一定会调度给此特定Node,设置容忍并不阻止调度器调度给其它Node,那么如何让特定应用的Node 只能被调度到此特定的Node呢,这就要结合NodeAffinity节点亲和性(也可以使用nodeSelector去给node达标签的方式),然...
NodeAffinity意为Node亲和性调度策略。是用于替换NodeSelector的全新调度策略。目前有两种节点节点亲和性表达: RequiredDuringSchedulingIgnoredDuringExecution:必须满足制定的规则才可以调度pode到Node上。相当于硬限制。 PreferredDuringSchedulingIgnoreDuringExecution:强调优先满足制定规则,调度器会尝试调度pod到Node上,但并不强...
这就需要用到 Kubernetes 里面的一个概念:亲和性,亲和性主要分为两类:nodeAffinity和podAffinity。 nodeSelector 我们知道label是kubernetes中一个非常重要的概念,用户可以非常灵活的利用 label 来管理集群中的资源,比如最常见的一个就是 service 通过匹配 label 去选择 POD 的。而 POD 的调度也可以根据节点的 label...
1、如果同时指定nodeSelector和nodeAffinity,则必须满足两个条件,才能将Pod调度到候选节点上。 2、如果在nodeAffinity类型下指定了多个nodeSelectorTerms对象【对象不能有多个,如果存在多个只有最后一个生效】,那么只有最后一个nodeSelectorTerms对象生效。 3、如果在nodeSelectorTerms下指定了多个matchExpressions列表,那么只...
kubernetes还提供了一种亲和性调度(Affinity)。它在NodeSelector的基础之上的进行了扩展,可以通过配置的形式,实现优先选择满足条件的Node进行调度,如果没有,也可以调度到不满足条件的节点上,使调度更加灵活。 Affinity主要分为三类: nodeAffinity(node亲和性):以node为目标,解决pod可以调度到哪些node的问题 podAffinity(...