这里指定“同一位置” 是通过 topologyKey 来定义的,topologyKey 对应的值是 node 上的一个标签名称,比如各别节点zone=A标签,各别节点有zone=B标签,pod affinity topologyKey定义为zone,那么调度pod的时候就会围绕着A拓扑,B拓扑来调度,而相同拓扑下的node就为“同一位置”。 顾名思义,topology 就是 拓扑的意思 这...
顾名思义,topology 就是 拓扑的意思,这里指的是一个 拓扑域,是指一个范围的概念,比如一个 Node、一个机柜、一个机房或者是一个地区(如杭州、上海)等,实际上对应的还是 Node 上的标签。这里的 topologyKey 对应的是 Node 上的标签的 Key(没有Value),可以看出,其实 topologyKey 就是用于筛选 Node 的。通过...
topologyKey的作用,调度时会将pod调度到具有zone值相同的node节点区域上(假如zone=2,那么该服务所有pod会部署在zone=2的区域中) podAntiAffinity时: topologyKey的作用,调度时会将pod调度到具有zone不同值相node节点区域上(假如zone=2,那么该服务另外pod会部署在zone=1的区域中) 五、节点亲和和pod亲和的综合使用 ...
- key: kubernetes.io/e2e-az-name operator: In values: - e2e-az1 - e2e-az2 1. 2. 3. 4. 5. 6. 7. 8. pod requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: security operator: In #operator: values: - S1 topologyKey: topology.kubernetes.io/zone 1...
topologyKey 设置为 kubernetes.io/hostname,表示这个规则适用于节点级别。 4. Pod 反亲和性规则如何影响 Pod 的调度 当Kubernetes 调度器尝试调度一个新的 Pod 时,它会检查该 Pod 的反亲和性规则。如果规则指定了某个标签选择器,并且集群中存在具有该标签且位于同一节点(或同一拓扑域)上的其他 Pod,则调度器会...
kubectl explain pod.spec.affinity.podAntiAffinity requiredDuringSchedulingIgnoredDuringExecution--硬亲和性: labelSelector 选择跟那组Pod亲和,前提得知道如何判断 namespaces 选择哪个命名空间进行条件匹配 topologyKey 指定节点上的哪个键,这是一个必选项 注意:这三个条件是一个逻辑与的关系 preferredDuringSchedulingIgn...
topologyKey: kubernetes.io/hostname containers: - name: with-pod-affinity image: gcr.io/google_containers/pause:2.0 使用http://kubernetes.io/hostname作为拓扑域,查看匹配规则,即同一打有同样标签name=frontend的pod会调度到不同的节点。 亲和性/反亲和性调度策略比较...
topologyKey:"kubernetes.io/hostname" 我首先尝试将本地minikube作为单个VM(具有适当的 node.kubernetes.io/instance-type 值),但是所有部署的pod都被安排了。这不应该发生,因为所有 Pod 都有 pod_group_affinity == per_node标签。即使我删除了节点亲和力部分,仍然 podAntiAffinity 似乎不起作用。
spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - theotherpod topologyKey: failure-domain.beta.kubernetes.io/zone This pod is now all the time in Pending state. The message is: NotTriggerScaleUp...
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: kubern...