在Kubernetes 中,亲和性(Affinity)和反亲和性(Anti-affinity)是高级的调度特性,它们允许你设置规则,这些规则可以在调度 Pod 时,详细地控制 Pod 应该运行在哪些节点上。这些规则比传统的nodeSelector提供了更多的灵活性和控制能力。 节点亲和性(Node Affinity) ...
本次讨论的主题是亲和性在节点调度中的应用。介绍了硬亲和性和软亲和性两种规则,硬亲和性要求必须满足标签匹配,而软亲和性则尽量满足但允许在无法满足时进行调度。亲和性规则提供了比传统调度更多的灵活性,允许在调度时考虑节点标签,而反亲和性规则则用于避免调度到具有特定标签的节点。这些技术点适合对Kubernetes调度机...
[root@k8s-master01~]# cat deploy.yamlapiVersion:apps/v1kind:Deploymentmetadata:namespace:defaultname:nginxapplabels:app:nginx-deployspec:replicas:2selector:matchLabels:app:mynginxtemplate:metadata:labels:app:mynginxspec:affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution:-preference:matchExp...
$ kubectl explain pod.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution KIND: ...
如node affinity,目前支持两种类型的pod affinity和anti-affinity:requiredDuringSchedulingIgnoredDuringExecution和preferredDuringSchedulingIgnoredDuringExecution,requiredDuringSchedulingIgnoredDuringExecution会将service A和service B的pod调度到同一个zone,因为他们彼此通信很多;preferredDuringSchedulingIgnoredDuringExecution,anti-...
Node Affinity可以让指定应用调度到指定的节点,这有利于应用的稳定性,减少重要业务和不重要业务之间相互抢占资源的可能,同时也可以降低不重要业务对重要业务的影响,另一方面,也能够进行多租户之间的隔离。根据租户需求为租户提供特定的运行环境。 2.1 NodeAffinity配置要点 ...
Node Affinity可以让指定应用调度到指定的节点,这有利于应用的稳定性,减少重要业务和不重要业务之间相互抢占资源的可能,同时也可以降低不重要业务对重要业务的影响,另一方面,也能够进行多租户之间的隔离。根据租户需求为租户提供特定的运行环境。 2.1 NodeAffinity配置要点 ...
1、如果同时指定nodeSelector和nodeAffinity,则必须满足两个条件,才能将Pod调度到候选节点上。 2、如果在nodeAffinity类型下指定了多个nodeSelectorTerms对象【对象不能有多个,如果存在多个只有最后一个生效】,那么只有最后一个nodeSelectorTerms对象生效。 3、如果在nodeSelectorTerms下指定了多个matchExpressions列表,那么只...
首先,我们可以将学习和实现 Node Affinity 的过程划分为以下几个步骤: 接下来,我们逐步了解每一个步骤的具体操作。 步骤详解 步骤1: 理解节点亲和性 >节点亲和性是一种用于控制 Pod 在何处调度的特性。通过使用节点标签,Kubernetes 可以将 Pod 放置在符合特定条件的节点上。这对于负载均衡、资源分配和故障恢复等场景...
Node Selector和Node Affinity是Kubernetes提供的两种调度策略,它们可以帮助管理员更精确地控制Pod的调度。一、Node SelectorNode Selector是一种标签选择器,用于将Pod调度到具有特定标签的节点上。管理员可以为节点添加标签,并使用Node Selector将Pod调度到具有所需标签的节点上。例如,管理员可以为具有GPU的节点添加标签...