@@ -131,18 +131,20 @@ your cluster. Those fields are:
131
131
See [ Label Selectors] ( /docs/concepts/overview/working-with-objects/labels/#label-selectors )
132
132
for more details.
133
133
134
- - ** matchLabelKeys** is a list of pod label keys to select the pods over which
135
- spreading will be calculated. The keys are used to lookup values from the pod labels,
136
- those key-value labels are ANDed with ` labelSelector ` to select the group of existing
137
- pods over which spreading will be calculated for the incoming pod. The same key is
138
- forbidden to exist in both ` matchLabelKeys ` and ` labelSelector ` . ` matchLabelKeys ` cannot
139
- be set when ` labelSelector ` isn't set. Keys that don't exist in the pod labels will be
140
- ignored. A null or empty list means only match against the ` labelSelector ` .
134
+ - ** matchLabelKeys** is a list of pod label keys to select the group of pods over which
135
+ the spreading skew will be calculated. At a pod creation,
136
+ apiserver will use those keys to lookup values from the incoming pod labels,
137
+ and those key-value labels will be merged with existing ` labelSelector ` .
138
+ The same key is forbidden to exist in both ` matchLabelKeys ` and ` labelSelector ` .
139
+ ` matchLabelKeys ` cannot be set when ` labelSelector ` isn't set.
140
+ Keys that don't exist in the pod labels will be ignored.
141
+ A null or empty list means only match against the ` labelSelector ` .
142
+ It's not recommended to use ` matchLabelKeys ` with labels that might be updated
143
+ because the update of the label isn't reflected onto the merged ` LabelSelector ` .
141
144
142
145
With ` matchLabelKeys ` , you don't need to update the ` pod.spec ` between different revisions.
143
146
The controller/operator just needs to set different values to the same label key for different
144
- revisions. The scheduler will assume the values automatically based on ` matchLabelKeys ` . For
145
- example, if you are configuring a Deployment, you can use the label keyed with
147
+ revisions. For example, if you are configuring a Deployment, you can use the label keyed with
146
148
[ pod-template-hash] ( /docs/concepts/workloads/controllers/deployment/#pod-template-hash-label ) , which
147
149
is added automatically by the Deployment controller, to distinguish between different revisions
148
150
in a single Deployment.
0 commit comments