示例1: nodeAffinity 硬亲和 示例2: nodeAffinity 硬亲和 示例3: nodeAffinity 软亲和 前言 在k8s集群建设过程中,一般情况下我们部署的 Pod 是通过集群的自动调度策略来选择节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均。但是有的时候我们需要能够更加细粒度的去控制 Pod 的调度;有时我们希望对内和对...
1、如果同时指定nodeSelector和nodeAffinity,则必须满足两个条件,才能将Pod调度到候选节点上。 2、如果在nodeAffinity类型下指定了多个nodeSelectorTerms对象【对象不能有多个,如果存在多个只有最后一个生效】,那么只有最后一个nodeSelectorTerms对象生效。 3、如果在nodeSelectorTerms下指定了多个matchExpressions列表,那么只...
1 [root@k8s-master nodeAffinity]# kubectl delete rs node-affinity-deploy-5c88ffb8ff 2 replicaset.apps "node-affinity-deploy-5c88ffb8ff" deleted 3 [root@k8s-master nodeAffinity]# 4 [root@k8s-master nodeAffinity]# kubectl get rs -o wide 5 NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES ...
Affinity特征有两种类型,“node affinit” 和“inter-pod affinity/anti-affinity”。 Node affinity跟nodeSelector很像,但有以上两个优点。inter-pod affinity/anti-affinity是对pod的标签进行限制,具有以上三条特性。 nodeSelector可以正常工作,最终将会被弃用,因为node affinity可以表示它可以表示的所有内容。 2.1 Nod...
另外与Node-affinity不同的是:该策略是依据Pod的Label进行调度,所以会受到namespace约束。 Pod亲和性调度请使用:podAffinity,非亲和性调度请使用:podAntiAffinity。 说这么多,似乎也没说清楚,不如举个栗子: apiVersion:v1kind:Podmetadata:name:pod-affinity-examplelabels:app:test-podspec:affinity:podAntiAffinity:...
I am having a problem where I am trying to restrict a deployment to work on avoid a specific node pool and nodeAffinity and nodeAntiAffinity don't seem to be working. We are running DOKS (Digital Ocean Managed Kubernetes) v1.19.3 We have two node pools: infra and clients, with nodes ...
这就需要用到 Kubernetes 里面的一个概念:亲和性,亲和性主要分为两类:nodeAffinity和podAffinity。 nodeSelector 我们知道label是kubernetes中一个非常重要的概念,用户可以非常灵活的利用 label 来管理集群中的资源,比如最常见的一个就是 service 通过匹配 label 去选择 POD 的。而 POD 的调度也可以根据节点的 label...
NodeAffinity NodeSelector 是一个非常简单的玩法,但这个玩法有个问题:它是一个常规性调度,假如我想优先调度,就没法用 nodeSelector 来做。于是 Kubernetes 社区又新加了一个玩法,叫做 NodeAffinity。 它和PodAffinity 有点类似,也提供了两类调度的策略: ...
在Kubernetes集群中,Node affinity(节点亲和性)是一种机制,用于控制Pod在调度时所选取的节点。它允许您根据节点的属性和标签,指定Pod在哪些节点上可以调度和运行。 Node affinity可以用于多种场景,包括: 硬件要求:某些应用程序可能对特定类型的硬件有要求,例如需要具备GPU或特定的存储设备。通过使用Node affinity,可以将...
Node affinity可以用于多种场景,包括: 硬件要求:某些应用程序可能对特定类型的硬件有要求,例如需要具备GPU或特定的存储设备。通过使用Node affinity,可以将这些Pod调度到拥有相应硬件资源的节点上。 数据局部性:某些应用程序需要访问特定的数据源或存储位置,为了减少延迟和网络开销,可以将Pod调度到与数据源或存储位置相近的...