From 8d499100400428ecca70f1b1f794634b142bf247 Mon Sep 17 00:00:00 2001 From: carolina valencia Date: Sat, 17 Dec 2022 17:57:23 -0300 Subject: [PATCH 1/9] Tracking commit for v1.27 docs From ca16a714c78d51da4296acd2fffde94a0bd84373 Mon Sep 17 00:00:00 2001 From: Mengjiao Liu Date: Mon, 19 Dec 2022 11:28:47 +0800 Subject: [PATCH 2/9] Move volume expansion feature gates to removed feature gates list --- .../feature-gates-removed.md | 17 +++++++++++++++++ .../feature-gates.md | 14 -------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md index 26f6663e90291..cc095f2833075 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md @@ -127,6 +127,15 @@ In the following table: | `EvenPodsSpread` | `false` | Alpha | 1.16 | 1.17 | | `EvenPodsSpread` | `true` | Beta | 1.18 | 1.18 | | `EvenPodsSpread` | `true` | GA | 1.19 | 1.21 | +| `ExpandCSIVolumes` | `false` | Alpha | 1.14 | 1.15 | +| `ExpandCSIVolumes` | `true` | Beta | 1.16 | 1.23 | +| `ExpandCSIVolumes` | `true` | GA | 1.24 | 1.27 | +| `ExpandInUsePersistentVolumes` | `false` | Alpha | 1.11 | 1.14 | +| `ExpandInUsePersistentVolumes` | `true` | Beta | 1.15 | 1.23 | +| `ExpandInUsePersistentVolumes` | `true` | GA | 1.24 | 1.27 | +| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.10 | +| `ExpandPersistentVolumes` | `true` | Beta | 1.11 | 1.23 | +| `ExpandPersistentVolumes` | `true` | GA | 1.24 | 1.27 | | `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | 1.12 | | `ExperimentalCriticalPodAnnotation` | `false` | Deprecated | 1.13 | 1.16 | | `ExternalPolicyForExternalIP` | `true` | GA | 1.18 | 1.22 | @@ -470,6 +479,14 @@ In the following table: - `EvenPodsSpread`: Enable pods to be scheduled evenly across topology domains. See [Pod Topology Spread Constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). +- `ExpandCSIVolumes`: Enable the expanding of CSI volumes. + +- `ExpandInUsePersistentVolumes`: Enable expanding in-use PVCs. See + [Resizing an in-use PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#resizing-an-in-use-persistentvolumeclaim). + +- `ExpandPersistentVolumes`: Enable the expanding of persistent volumes. See + [Expanding Persistent Volumes Claims](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims). + - `ExperimentalCriticalPodAnnotation`: Enable annotating specific pods as *critical* so that their [scheduling is guaranteed](/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/). This feature is deprecated by Pod Priority and Preemption as of v1.13. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 48de9a13dd29c..eb293652925c6 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -282,15 +282,6 @@ For a reference to old feature gates that are removed, please refer to | `EphemeralContainers` | `true` | GA | 1.25 | - | | `EventedPLEG` | `false` | Alpha | 1.26 | - | | `ExecProbeTimeout` | `true` | GA | 1.20 | - | -| `ExpandCSIVolumes` | `false` | Alpha | 1.14 | 1.15 | -| `ExpandCSIVolumes` | `true` | Beta | 1.16 | 1.23 | -| `ExpandCSIVolumes` | `true` | GA | 1.24 | - | -| `ExpandInUsePersistentVolumes` | `false` | Alpha | 1.11 | 1.14 | -| `ExpandInUsePersistentVolumes` | `true` | Beta | 1.15 | 1.23 | -| `ExpandInUsePersistentVolumes` | `true` | GA | 1.24 | - | -| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.10 | -| `ExpandPersistentVolumes` | `true` | Beta | 1.11 | 1.23 | -| `ExpandPersistentVolumes` | `true` | GA | 1.24 |- | | `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | | `IdentifyPodOS` | `true` | Beta | 1.24 | 1.24 | | `IdentifyPodOS` | `true` | GA | 1.25 | - | @@ -553,15 +544,10 @@ Each feature gate is designed for enabling/disabling a specific feature: This feature gate exists in case any of your existing workloads depend on a now-corrected fault where Kubernetes ignored exec probe timeouts. See [readiness probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). -- `ExpandCSIVolumes`: Enable the expanding of CSI volumes. - `ExpandedDNSConfig`: Enable kubelet and kube-apiserver to allow more DNS search paths and longer list of DNS search paths. This feature requires container runtime support(Containerd: v1.5.6 or higher, CRI-O: v1.22 or higher). See [Expanded DNS Configuration](/docs/concepts/services-networking/dns-pod-service/#expanded-dns-configuration). -- `ExpandInUsePersistentVolumes`: Enable expanding in-use PVCs. See - [Resizing an in-use PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#resizing-an-in-use-persistentvolumeclaim). -- `ExpandPersistentVolumes`: Enable the expanding of persistent volumes. See - [Expanding Persistent Volumes Claims](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims). - `ExperimentalHostUserNamespaceDefaulting`: Enabling the defaulting user namespace to host. This is for containers that are using other host namespaces, host mounts, or containers that are privileged or using specific non-namespaced From 0201ddd70f13adf7f21e1ebc08c0cc3eadb525d8 Mon Sep 17 00:00:00 2001 From: Mengjiao Liu Date: Mon, 19 Dec 2022 11:08:02 +0800 Subject: [PATCH 3/9] Update MinDomainsInPodTopologySpread feature gate default value. --- .../reference/command-line-tools-reference/feature-gates.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 48de9a13dd29c..ae69a369316d3 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -139,7 +139,8 @@ For a reference to old feature gates that are removed, please refer to | `MemoryManager` | `true` | Beta | 1.22 | | | `MemoryQoS` | `false` | Alpha | 1.22 | | | `MinDomainsInPodTopologySpread` | `false` | Alpha | 1.24 | 1.24 | -| `MinDomainsInPodTopologySpread` | `false` | Beta | 1.25 | | +| `MinDomainsInPodTopologySpread` | `false` | Beta | 1.25 | 1.26 | +| `MinDomainsInPodTopologySpread` | `true` | Beta | 1.27 | | | `MixedProtocolLBService` | `false` | Alpha | 1.20 | 1.23 | | `MixedProtocolLBService` | `true` | Beta | 1.24 | | | `MultiCIDRRangeAllocator` | `false` | Alpha | 1.25 | | From fed60f3728f84bd163e5315a7a18caee44eb7382 Mon Sep 17 00:00:00 2001 From: Wei Huang Date: Mon, 9 Jan 2023 12:29:33 -0800 Subject: [PATCH 4/9] Rename 'PreemptionByKubeScheduler' to 'PreemptionByScheduler' --- content/en/docs/concepts/workloads/pods/disruptions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/workloads/pods/disruptions.md b/content/en/docs/concepts/workloads/pods/disruptions.md index 66d05ef92a3f1..1ddbfa4c2aa84 100644 --- a/content/en/docs/concepts/workloads/pods/disruptions.md +++ b/content/en/docs/concepts/workloads/pods/disruptions.md @@ -247,7 +247,7 @@ that the Pod is about to be deleted due to a {{}} by a scheduler in order to accommodate a new Pod with a higher priority. For more information, see [Pod priority preemption](/docs/concepts/scheduling-eviction/pod-priority-preemption/). `DeletionByTaintManager` From c1bf88e71e530cb534cf01433021e042a33af1bd Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Wed, 18 Jan 2023 13:55:45 +0100 Subject: [PATCH 5/9] Update seccomp docs for v1.27 seccomp annotation will become non-functional in v1.27, which will be now reflected in the documentation as well. Ref: https://github.com/kubernetes/kubernetes/pull/114947 Signed-off-by: Sascha Grunert --- .../labels-annotations-taints/_index.md | 30 ++++++++----------- content/en/docs/tutorials/security/seccomp.md | 16 ++++------ 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/content/en/docs/reference/labels-annotations-taints/_index.md b/content/en/docs/reference/labels-annotations-taints/_index.md index 75974454588c5..514e4c921a899 100644 --- a/content/en/docs/reference/labels-annotations-taints/_index.md +++ b/content/en/docs/reference/labels-annotations-taints/_index.md @@ -737,23 +737,19 @@ When the PodSecurityPolicy admission controller admitted a Pod, the admission co modified the Pod to have this annotation. The value of the annotation was the name of the PodSecurityPolicy that was used for validation. -### seccomp.security.alpha.kubernetes.io/pod (deprecated) {#seccomp-security-alpha-kubernetes-io-pod} - -This annotation has been deprecated since Kubernetes v1.19 and will become non-functional in a future release. -please use the corresponding pod or container `securityContext.seccompProfile` field instead. -To specify security settings for a Pod, include the `securityContext` field in the Pod specification. -The [`securityContext`](/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context) field within a Pod's `.spec` defines pod-level security attributes. -When you [specify the security context for a Pod](/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod), -the settings you specify apply to all containers in that Pod. - -### container.seccomp.security.alpha.kubernetes.io/[NAME] (deprecated) {#container-seccomp-security-alpha-kubernetes-io} - -This annotation has been deprecated since Kubernetes v1.19 and will become non-functional in a future release. -please use the corresponding pod or container `securityContext.seccompProfile` field instead. -The tutorial [Restrict a Container's Syscalls with seccomp](/docs/tutorials/security/seccomp/) takes -you through the steps you follow to apply a seccomp profile to a Pod or to one of -its containers. That tutorial covers the supported mechanism for configuring seccomp in Kubernetes, -based on setting `securityContext` within the Pod's `.spec`. +### seccomp.security.alpha.kubernetes.io/pod (non-functional) {#seccomp-security-alpha-kubernetes-io-pod} + +Older versions of Kubernetes allowed you to configure seccomp +behavior using this {{< glossary_tooltip text="annotation" term_id="annotation" >}}. +See [Restrict a Container's Syscalls with seccomp](/docs/tutorials/security/seccomp/) to +learn the supported way to specify seccomp restrictions for a Pod. + +### container.seccomp.security.alpha.kubernetes.io/[NAME] (non-functional) {#container-seccomp-security-alpha-kubernetes-io} + +Older versions of Kubernetes allowed you to configure seccomp +behavior using this {{< glossary_tooltip text="annotation" term_id="annotation" >}}. +See [Restrict a Container's Syscalls with seccomp](/docs/tutorials/security/seccomp/) to +learn the supported way to specify seccomp restrictions for a Pod. ### snapshot.storage.kubernetes.io/allowVolumeModeChange diff --git a/content/en/docs/tutorials/security/seccomp.md b/content/en/docs/tutorials/security/seccomp.md index 6187d198f1971..05b2fde77f19c 100644 --- a/content/en/docs/tutorials/security/seccomp.md +++ b/content/en/docs/tutorials/security/seccomp.md @@ -275,17 +275,11 @@ Here's a manifest for that Pod: {{< codenew file="pods/security/seccomp/ga/audit-pod.yaml" >}} {{< note >}} -The functional support for the already deprecated seccomp annotations -`seccomp.security.alpha.kubernetes.io/pod` (for the whole pod) and -`container.seccomp.security.alpha.kubernetes.io/[name]` (for a single container) -is going to be removed with a future release of Kubernetes. Please always use -the native API fields in favor of the annotations. - -Since Kubernetes v1.25, kubelets no longer support the annotations, use of the -annotations in static pods is no longer supported, and the seccomp annotations -are no longer auto-populated when pods with seccomp fields are created. -Auto-population of the seccomp fields from the annotations is planned to be -removed in a future release. +Older versions of Kubernetes allowed you to configure seccomp +behavior using {{< glossary_tooltip text="annotations" term_id="annotation" >}}. +Kubernetes {{< skew currentVersion >}} only supports using fields within +`.spec.securityContext` to configure seccomp, and this tutorial explains that +approach. {{< /note >}} Create the Pod in the cluster: From 4480cd3634a1e511f7e926d7a69fb9f581a5d126 Mon Sep 17 00:00:00 2001 From: Paco Xu Date: Wed, 1 Mar 2023 13:37:38 +0800 Subject: [PATCH 6/9] removed ControllerManagerLeaderMigration in v1.27 Signed-off-by: Paco Xu --- .../feature-gates-removed.md | 10 ++++++++++ .../command-line-tools-reference/feature-gates.md | 11 ----------- .../controller-manager-leader-migration.md | 2 -- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md index fea125c3763d7..5536e254b481e 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md @@ -93,6 +93,9 @@ In the following table: | `CronJobControllerV2` | `true` | GA | 1.22 | 1.23 | | `CSRDuration` | `true` | Beta | 1.22 | 1.23 | | `CSRDuration` | `true` | GA | 1.24 | 1.25 | +| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | 1.21 | +| `ControllerManagerLeaderMigration` | `true` | Beta | 1.22 | 1.23 | +| `ControllerManagerLeaderMigration` | `true` | GA | 1.24 | 1.26 | | `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | | `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | | `CustomPodDNS` | `true` | GA | 1.14 | 1.16 | @@ -477,6 +480,13 @@ In the following table: {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} controller. Otherwise, version 1 of the same controller is selected. +- `ControllerManagerLeaderMigration`: Enables Leader Migration for + [kube-controller-manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/#initial-leader-migration-configuration) and + [cloud-controller-manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/#deploy-cloud-controller-manager) + which allows a cluster operator to live migrate + controllers from the kube-controller-manager into an external controller-manager + (e.g. the cloud-controller-manager) in an HA cluster without downtime. + - `CustomPodDNS`: Enable customizing the DNS settings for a Pod using its `dnsConfig` property. Check [Pod's DNS Config](/docs/concepts/services-networking/dns-pod-service/#pods-dns-config) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index d9b2505960ab8..3680548e7afb3 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -251,9 +251,6 @@ For a reference to old feature gates that are removed, please refer to | `CSIStorageCapacity` | `true` | Beta | 1.21 | 1.23 | | `CSIStorageCapacity` | `true` | GA | 1.24 | - | | `ConsistentHTTPGetHandlers` | `true` | GA | 1.25 | - | -| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | 1.21 | -| `ControllerManagerLeaderMigration` | `true` | Beta | 1.22 | 1.23 | -| `ControllerManagerLeaderMigration` | `true` | GA | 1.24 | - | | `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | | `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | | `DaemonSetUpdateSurge` | `true` | GA | 1.25 | - | @@ -390,12 +387,6 @@ Each feature gate is designed for enabling/disabling a specific feature: See [AppArmor Tutorial](/docs/tutorials/security/apparmor/) for more details. - `ContainerCheckpoint`: Enables the kubelet `checkpoint` API. See [Kubelet Checkpoint API](/docs/reference/node/kubelet-checkpoint-api/) for more details. -- `ControllerManagerLeaderMigration`: Enables Leader Migration for - [kube-controller-manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/#initial-leader-migration-configuration) and - [cloud-controller-manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/#deploy-cloud-controller-manager) - which allows a cluster operator to live migrate - controllers from the kube-controller-manager into an external controller-manager - (e.g. the cloud-controller-manager) in an HA cluster without downtime. - `CPUManager`: Enable container level CPU affinity support, see [CPU Management Policies](/docs/tasks/administer-cluster/cpu-management-policies/). - `CPUManagerPolicyAlphaOptions`: This allows fine-tuning of CPUManager policies, @@ -467,8 +458,6 @@ Each feature gate is designed for enabling/disabling a specific feature: handlers with probers. - `ContextualLogging`: When you enable this feature gate, Kubernetes components that support contextual logging add extra detail to log output. -- `ControllerManagerLeaderMigration`: Enables leader migration for - `kube-controller-manager` and `cloud-controller-manager`. - `CronJobTimeZone`: Allow the use of the `timeZone` optional field in [CronJobs](/docs/concepts/workloads/controllers/cron-jobs/) - `CrossNamespaceVolumeDataSource`: Enable the usage of cross namespace volume data source to allow you to specify a source namespace in the `dataSourceRef` field of a diff --git a/content/en/docs/tasks/administer-cluster/controller-manager-leader-migration.md b/content/en/docs/tasks/administer-cluster/controller-manager-leader-migration.md index 743e23d0bd1ae..c31f309b19092 100644 --- a/content/en/docs/tasks/administer-cluster/controller-manager-leader-migration.md +++ b/content/en/docs/tasks/administer-cluster/controller-manager-leader-migration.md @@ -10,8 +10,6 @@ weight: 250 -{{< feature-state for_k8s_version="v1.24" state="stable" >}} - {{< glossary_definition term_id="cloud-controller-manager" length="all" prepend="The cloud-controller-manager is">}} ## Background From fc019615abd2ab1dc0008d28875720349ff9b2be Mon Sep 17 00:00:00 2001 From: Wei Huang Date: Mon, 6 Mar 2023 09:02:48 -0800 Subject: [PATCH 7/9] Doc for Beta feature PodSchedulingReadiness --- .../concepts/scheduling-eviction/pod-scheduling-readiness.md | 2 +- .../reference/command-line-tools-reference/feature-gates.md | 3 ++- content/en/examples/pods/pod-with-scheduling-gates.yaml | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/content/en/docs/concepts/scheduling-eviction/pod-scheduling-readiness.md b/content/en/docs/concepts/scheduling-eviction/pod-scheduling-readiness.md index be9994631559e..07064386701f3 100644 --- a/content/en/docs/concepts/scheduling-eviction/pod-scheduling-readiness.md +++ b/content/en/docs/concepts/scheduling-eviction/pod-scheduling-readiness.md @@ -55,7 +55,7 @@ kubectl get pod test-pod -o jsonpath='{.spec.schedulingGates}' The output is: ```none -[{"name":"foo"},{"name":"bar"}] +[{"name":"example.com/foo"},{"name":"example.com/bar"}] ``` To inform scheduler this Pod is ready for scheduling, you can remove its `schedulingGates` entirely diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 3680548e7afb3..2d1cf00ffa6af 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -164,7 +164,8 @@ For a reference to old feature gates that are removed, please refer to | `PodDisruptionConditions` | `false` | Alpha | 1.25 | 1.25 | | `PodDisruptionConditions` | `true` | Beta | 1.26 | | | `PodHasNetworkCondition` | `false` | Alpha | 1.25 | | -| `PodSchedulingReadiness` | `false` | Alpha | 1.26 | | +| `PodSchedulingReadiness` | `false` | Alpha | 1.26 | 1.26 | +| `PodSchedulingReadiness` | `true` | Beta | 1.27 | | | `ProbeTerminationGracePeriod` | `false` | Alpha | 1.21 | 1.21 | | `ProbeTerminationGracePeriod` | `false` | Beta | 1.22 | 1.24 | | `ProbeTerminationGracePeriod` | `true` | Beta | 1.25 | | diff --git a/content/en/examples/pods/pod-with-scheduling-gates.yaml b/content/en/examples/pods/pod-with-scheduling-gates.yaml index b0b012fb72ca8..de761d969460d 100644 --- a/content/en/examples/pods/pod-with-scheduling-gates.yaml +++ b/content/en/examples/pods/pod-with-scheduling-gates.yaml @@ -4,8 +4,8 @@ metadata: name: test-pod spec: schedulingGates: - - name: foo - - name: bar + - name: example.com/foo + - name: example.com/bar containers: - name: pause image: registry.k8s.io/pause:3.6 From d84256921bc738f87508792e7a9a8997daa7d373 Mon Sep 17 00:00:00 2001 From: Alex Wang Date: Tue, 7 Mar 2023 11:07:09 +0800 Subject: [PATCH 8/9] doc: graduate matchLabelKeys in podTopologySpread to beta Signed-off-by: Alex Wang --- .../scheduling-eviction/topology-spread-constraints.md | 7 +++---- .../command-line-tools-reference/feature-gates.md | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/en/docs/concepts/scheduling-eviction/topology-spread-constraints.md b/content/en/docs/concepts/scheduling-eviction/topology-spread-constraints.md index 76855f5a5e57c..6e47447100c57 100644 --- a/content/en/docs/concepts/scheduling-eviction/topology-spread-constraints.md +++ b/content/en/docs/concepts/scheduling-eviction/topology-spread-constraints.md @@ -64,7 +64,7 @@ spec: topologyKey: whenUnsatisfiable: labelSelector: - matchLabelKeys: # optional; alpha since v1.25 + matchLabelKeys: # optional; beta since v1.27 nodeAffinityPolicy: [Honor|Ignore] # optional; beta since v1.26 nodeTaintsPolicy: [Honor|Ignore] # optional; beta since v1.26 ### other Pod fields go here @@ -144,9 +144,8 @@ your cluster. Those fields are: ``` {{< note >}} - The `matchLabelKeys` field is an alpha field added in 1.25. You have to enable the - `MatchLabelKeysInPodTopologySpread` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) - in order to use it. + The `matchLabelKeys` field is a beta-level field and enabled by default in 1.27. You can disable it by disabling the + `MatchLabelKeysInPodTopologySpread` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/). {{< /note >}} - **nodeAffinityPolicy** indicates how we will treat Pod's nodeAffinity/nodeSelector diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 3680548e7afb3..afac9234a7e9f 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -134,7 +134,8 @@ For a reference to old feature gates that are removed, please refer to | `LogarithmicScaleDown` | `true` | Beta | 1.22 | | | `LoggingAlphaOptions` | `false` | Alpha | 1.24 | - | | `LoggingBetaOptions` | `true` | Beta | 1.24 | - | -| `MatchLabelKeysInPodTopologySpread` | `false` | Alpha | 1.25 | | +| `MatchLabelKeysInPodTopologySpread` | `false` | Alpha | 1.25 | 1.26 | +| `MatchLabelKeysInPodTopologySpread` | `true` | Beta | 1.27 | - | | `MaxUnavailableStatefulSet` | `false` | Alpha | 1.24 | | | `MemoryManager` | `false` | Alpha | 1.21 | 1.21 | | `MemoryManager` | `true` | Beta | 1.22 | | From c2b4f8457a5b21c7925cf7cd56379a93d8daabf7 Mon Sep 17 00:00:00 2001 From: ahg-g Date: Thu, 16 Mar 2023 19:13:58 +0000 Subject: [PATCH 9/9] Graduate JobMutableNodeSchedulingDirectives to GA --- content/en/docs/concepts/workloads/controllers/job.md | 11 ++--------- .../command-line-tools-reference/feature-gates.md | 3 ++- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/content/en/docs/concepts/workloads/controllers/job.md b/content/en/docs/concepts/workloads/controllers/job.md index ecdcb62027b63..5dff10d84a8b5 100644 --- a/content/en/docs/concepts/workloads/controllers/job.md +++ b/content/en/docs/concepts/workloads/controllers/job.md @@ -631,14 +631,7 @@ as soon as the Job was resumed. ### Mutable Scheduling Directives -{{< feature-state for_k8s_version="v1.23" state="beta" >}} - -{{< note >}} -In order to use this behavior, you must enable the `JobMutableNodeSchedulingDirectives` -[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) -on the [API server](/docs/reference/command-line-tools-reference/kube-apiserver/). -It is enabled by default. -{{< /note >}} +{{< feature-state for_k8s_version="v1.27" state="stable" >}} In most cases a parallel job will want the pods to run with constraints, like all in the same zone, or all either on GPU model x or y but not a mix of both. @@ -653,7 +646,7 @@ pod-to-node assignment to kube-scheduler. This is allowed only for suspended Job been unsuspended before. The fields in a Job's pod template that can be updated are node affinity, node selector, -tolerations, labels and annotations. +tolerations, labels, annotations and scheduling gates. ### Specifying your own Pod selector diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 626cc6931f605..60299806bb10e 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -116,7 +116,6 @@ For a reference to old feature gates that are removed, please refer to | `InTreePluginPortworxUnregister` | `false` | Alpha | 1.23 | | | `InTreePluginRBDUnregister` | `false` | Alpha | 1.23 | | | `InTreePluginvSphereUnregister` | `false` | Alpha | 1.21 | | -| `JobMutableNodeSchedulingDirectives` | `true` | Beta | 1.23 | | | `JobPodFailurePolicy` | `false` | Alpha | 1.25 | 1.25 | | `JobPodFailurePolicy` | `true` | Beta | 1.26 | | | `JobReadyPods` | `false` | Alpha | 1.23 | 1.23 | @@ -281,6 +280,8 @@ For a reference to old feature gates that are removed, please refer to | `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | | `IdentifyPodOS` | `true` | Beta | 1.24 | 1.24 | | `IdentifyPodOS` | `true` | GA | 1.25 | - | +| `JobMutableNodeSchedulingDirectives` | `true` | Beta | 1.23 | | +| `JobMutableNodeSchedulingDirectives` | `true` | GA | 1.27 | | | `JobTrackingWithFinalizers` | `false` | Alpha | 1.22 | 1.22 | | `JobTrackingWithFinalizers` | `false` | Beta | 1.23 | 1.24 | | `JobTrackingWithFinalizers` | `true` | Beta | 1.25 | 1.25 |