在Kubernetes中,podAffinity
和podAntiAffinity
的权重是相互比较的吗?还是独立的?podAffinity
和nodeAffinity
呢?在下面的例子中,podAntiAffinity
会比podAffinity
更重要吗?如果nodeAffinity
也被添加到混合中呢?
affinity:
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 50
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- test-1
topologyKey: kubernetes.io/hostname
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- test-2
topologyKey: kubernetes.io/hostname
字符串
1条答案
按热度按时间jhiyze9q1#
如果您不覆盖默认的单个权重1,则pod和节点的所有亲和度设置的权重都是相同的。
在执行期间,节点上的亲和性条件的出现乘以条件的权重。
字符串
根据亲和度计算,尽管节点1已经在运行pod“c”,但pod将被调度到节点1上,因为3个“b”pod超过1个“c”pod。
在您的示例中,如果节点上
test-1
与test-2
的比例为1:1,则反亲和性将超过亲和性设置。如果节点上test-1
与test-2
的比例为2:1,则(反)亲和性将相互抵消。源