我的集群中有一个kubernetes pod和4个节点。如果可用,我想首先将该pod调度到node-2
,然后将node-4
、node-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