@@ -98,7 +98,7 @@ we aim to simplify access to this information for Pods via the Downward API.
9898
9999### Goals
100100
101- * Values from Node labels ` topology.k8s .io/zone ` , ` topology.k8s .io/region ` and ` kubernetes.io/hostname ` are made
101+ * Values from Node labels ` topology.kubernetes .io/zone ` , ` topology.kubernetes .io/region ` and ` kubernetes.io/hostname ` are made
102102 available via downward API
103103* Additional node labels can be made available via downward API using admission webhooks that mutate ` pods/binding ` .
104104
@@ -171,7 +171,7 @@ creation but not guaranteed to be immutable and thus should be treated as so.
171171
172172* A built-in Kubernetes admission plugin, ` PodTopologyLabels ` will be introduced in kube-apiserver
173173* The ` PodTopologyLabels ` admission plugin is responsible for mutating ` pods/binding ` subresource, adding topology labels matching the target Node.
174- * ` PodTopologyLabels ` admission will overwrite ` topology.k8s .io/* ` labels on Pods.
174+ * ` PodTopologyLabels ` admission will overwrite ` topology.kubernetes .io/* ` labels on Pods.
175175* A feature gate, ` PodTopologyLabelsAdmission ` will be introduced in v1.33. Alpha and disabled by default.
176176The ` PodTopologyLabels ` admission plugin can only be set when this feature gate is enabled.
177177* The Binding REST implementation will be updated to copy all labels from ` pods/binding ` subresource into Pods.
@@ -222,10 +222,11 @@ E2E tests will also ensure behavior is exercised when the feature gate is enable
222222- All standard topology labels can be retrieved using downward API.
223223- Behavior is implemented behind a feature gate that is off by default.
224224- Initial unit, integration and e2e tests completed and enabled.
225+ - Fix standard topology label used in PodTopologyLabels admission controller (topology.k8s.io -> topology.kubernetes.io)
225226
226227#### Beta
227228
228- TODO after Alpha.
229+ - Unit, integration and e2e tests
229230
230231#### GA
231232
@@ -290,7 +291,9 @@ Tests will be added to ensure feature gate works as expected.
290291
291292### Rollout, Upgrade and Rollback Planning
292293
293- TODO for Beta.
294+ Manual testing will be exercised to ensure that PodTopologyLabelsAdmission can be enabled and then disabled.
295+ When disabled, existing Pods with topology labels will continue to run with those labels and new Pods will no longer
296+ container topology labels.
294297
295298###### How can a rollout or rollback fail? Can it impact already running workloads?
296299
311314
312315### Monitoring Requirements
313316
314- TODO for GA.
315-
316317###### How can an operator determine if the feature is in use by workloads?
317318
318- N/A
319+ They can check if new Pods contain the ` topology.kubernetes.io/* ` labels.
319320
320321###### How can someone using this feature know that it is working for their instance?
321322
@@ -335,15 +336,15 @@ N/A
335336
336337
337338- [X] Metrics
338- - Metric name: ` pod_scheduling_attempts `
339+ - Metric name: ` pod_scheduling_attempts ` , ` scheduler_scheduling_attempt_duration_seconds `
339340 - [ Optional] Aggregation method:
340341 - Components exposing the metric: kube-scheduler
341342- [ ] Other (treat as last resort)
342343 - Details: SLI are not necessary for this admission plugin
343344
344345###### Are there any missing metrics that would be useful to have to improve observability of this feature?
345346
346- No, we can use ` pod_scheduling_attempts ` .
347+ No, we can use ` pod_scheduling_attempts ` and ` scheduler_scheduling_attempt_duration_seconds ` .
347348
348349### Dependencies
349350
@@ -391,9 +392,9 @@ Little impact as this feature is only relevant when scheduling and running Pods,
391392
392393###### What are other known failure modes?
393394
394- Not all Kubernetes clusters have nodes that have topology labels. Requesting topology information
395- via downward API in these clusters will result in Pods failing to start or empty values returned
396- via downward API .
395+ Not all Kubernetes clusters have Nodes with topology labels. Requesting topology information
396+ in these clusters will result in empty values returned via downward API and some
397+ applications failing to start if they rely on this information .
397398
398399###### What steps should be taken if SLOs are not being met to determine the problem?
399400
@@ -402,6 +403,7 @@ Revert feature gate and stop consuming downward API.
402403## Implementation History
403404
404405- ` v1.33 ` : initial KEP is accepeted and alpha implementation is complete
406+ - ` v1.34 ` : fix topology labels from topology.k8s.io to topology.kubernetes.io.
405407
406408## Drawbacks
407409
0 commit comments