k8s拓扑域 :topologyKey
主要用于定义Pod亲和性或反亲和性规则中的拓扑域,从而控制Pod在集群中的调度。
参数描述:仅支持在工作负载亲和/工作负载反亲和调度策略中使用。先圈定拓扑域(topologyKey)指定的范围,然后再选择策略定义的内容。
topologyKey字段(用于划分拓扑域),意思是先圈定topologyKey指定的范围,当节点上的标签键、值均相同时会被认为同一拓扑域,然后再选择下面规则定义的内容。
它和labelSelector之间是与的关系,即topologyKey表达的条件要满足,labelSelector表达的条件也要满足。topologyKey的写法非常简单,只要传入Node标签的一个Key的名称。
示例:pod会被调度到node节点标签带有prefer,且具有pod带app=backend标签的node上。
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- topologyKey: prefer
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- backend