在Kubernetes中,podAfinity和podAntiAffinity的权重是否相互比较?还是独立地?podAf



在Kubernetes中,podAffinitypodAntiAffinity的权重是否相互比较?还是独立?那么podAffinitynodeAffinity呢?在下面的例子中,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,则pod和节点的所有关联设置都以相同的方式进行加权。

在执行期间,节点上亲和性条件的出现乘以该条件的权重。

pod a has an affinity to b
pod a has an anti-affinity to c
new pod of type "a" to be scheduled
---
node1 runs 3 "b" pods and 1 "c" pod --> affinity score: 2 (3 "b" pods - 1 "c" pod)
node2 runs 1 "b" pod --> affinity score 1: 1 (1 "b" pod)

基于亲和性计算,尽管节点1已经运行pod";c";作为3〃;b";荚大于1〃;c";豆荚

在您的示例中,如果节点上test-1test-2的比例为1:1,则反亲和性将超过亲和性设置。在节点上test-1test-2的比例为2:1的情况下,(反(亲和性将相互抵消。

最新更新