Pod亲和性配置中TopologyKey作用下,nginx-anti-pod的调度位置确认
问题
该Pod将被调度到什么位置?
apiVersion: v1 kind: Pod metadata: name: nginx-anti-pod labels: app: nginx-anti-pod spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - nginx-pod topologyKey: kubernetes.io/zone containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80
请问该Pod是否会被调度至与nginx-pod相同的可用区(Zone)中?
回答
会被调度到与nginx-pod相同的可用区中。
具体原因:
- 该Pod配置了Pod亲和性(podAffinity),采用的规则类型是
requiredDuringSchedulingIgnoredDuringExecution,这是调度时的强制要求,不满足规则就无法完成Pod调度。 - 亲和性规则通过
labelSelector匹配带有app: nginx-pod标签的Pod,同时指定topologyKey为kubernetes.io/zone——这个键代表的拓扑域就是可用区。
这意味着Kubernetes调度器必须把这个Pod部署到至少有一个nginx-pod存在的可用区节点上。
内容的提问来源于stack exchange,提问作者amrutha
相关产品推荐
相关产品推荐

