Skip to content

Commit 4762f58

Browse files
authored
Merge pull request #49602 from mochizuki875/add_deprecation_rel_matchlabelkeys_and_mismatchlabelkeys
Add deprecation notices related to PodAffinity's matchLabelKeys/mismatchLabelKeys
2 parents 75faa38 + aad1b7c commit 4762f58

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

content/en/docs/concepts/scheduling-eviction/assign-pod-node.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,12 @@ The keys are used to look up values from the pod labels; those key-value labels
378378
(using `AND`) with the match restrictions defined using the `labelSelector` field. The combined
379379
filtering selects the set of existing pods that will be taken into Pod (anti)affinity calculation.
380380

381+
{{< caution >}}
382+
It's not recommended to use `matchLabelKeys` with labels that might be updated directly on pods.
383+
Even if you edit the pod's label that is specified at `matchLabelKeys` **directly**, (that is, not via a deployment),
384+
kube-apiserver doesn't reflect the label update onto the merged `labelSelector`.
385+
{{< /caution >}}
386+
381387
A common use case is to use `matchLabelKeys` with `pod-template-hash` (set on Pods
382388
managed as part of a Deployment, where the value is unique for each revision).
383389
Using `pod-template-hash` in `matchLabelKeys` allows you to target the Pods that belong
@@ -425,6 +431,12 @@ Kubernetes includes an optional `mismatchLabelKeys` field for Pod affinity
425431
or anti-affinity. The field specifies keys for the labels that should **not** match with the incoming Pod's labels,
426432
when satisfying the Pod (anti)affinity.
427433

434+
{{< caution >}}
435+
It's not recommended to use `mismatchLabelKeys` with labels that might be updated directly on pods.
436+
Even if you edit the pod's label that is specified at `mismatchLabelKeys` **directly**, (that is, not via a deployment),
437+
kube-apiserver doesn't reflect the label update onto the merged `labelSelector`.
438+
{{< /caution >}}
439+
428440
One example use case is to ensure Pods go to the topology domain (node, zone, etc) where only Pods from the same tenant or team are scheduled in.
429441
In other words, you want to avoid running Pods from two different tenants on the same topology domain at the same time.
430442

0 commit comments

Comments
 (0)