我可以在节点亲和力中定义多个具有优先级或"weight"的节点吗?



我的集群中有一个kubernetes pod和4个节点。如果可用,我想首先将该pod调度到node-2,然后将node-4node-3和最后优先级调度到node-1。假设node-x是内置的kubernetes.io/hostname值,是否有任何方法可以为nodeAffinity中的这4个节点定义优先级?

这就是我尝试过的:

nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node-2
- node-4
- node-3
- node-1

然而,吊舱似乎总是指向节点1。

这似乎在起作用:

nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-type
operator: In
values:
# a common label applied to all nodes
- node-label
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node-2
- weight: 50
preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node-4
- weight: 20
preference:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node-3
.
.
and so on

最新更新