Skip to content

Commit 503f8a4

Browse files
authored
Merge pull request #30903 from tengqm/update-feature-gates
Update feature gates for 1.23
2 parents 4f0b7e5 + 4f27a3f commit 503f8a4

File tree

1 file changed

+45
-18
lines changed

1 file changed

+45
-18
lines changed

content/en/docs/reference/command-line-tools-reference/feature-gates.md

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,10 @@ different Kubernetes components.
6565
| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | |
6666
| `CPUManager` | `false` | Alpha | 1.8 | 1.9 |
6767
| `CPUManager` | `true` | Beta | 1.10 | |
68-
| `CPUManagerPolicyOptions` | `false` | Alpha | 1.22 | |
68+
| `CPUManagerPolicyAlphaOptions` | `false` | Alpha | 1.23 | |
69+
| `CPUManagerPolicyBetaOptions` | `true` | Beta | 1.23 | |
70+
| `CPUManagerPolicyOptions` | `false` | Alpha | 1.22 | 1.22 |
71+
| `CPUManagerPolicyOptions` | `true` | Beta | 1.23 | |
6972
| `CSIInlineVolume` | `false` | Alpha | 1.15 | 1.15 |
7073
| `CSIInlineVolume` | `true` | Beta | 1.16 | - |
7174
| `CSIMigration` | `false` | Alpha | 1.14 | 1.16 |
@@ -90,8 +93,6 @@ different Kubernetes components.
9093
| `CSIStorageCapacity` | `true` | Beta | 1.21 | |
9194
| `CSIVolumeHealth` | `false` | Alpha | 1.21 | |
9295
| `CSRDuration` | `true` | Beta | 1.22 | |
93-
| `ConfigurableFSGroupPolicy` | `false` | Alpha | 1.18 | 1.19 |
94-
| `ConfigurableFSGroupPolicy` | `true` | Beta | 1.20 | |
9596
| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | 1.21 |
9697
| `ControllerManagerLeaderMigration` | `true` | Beta | 1.22 | |
9798
| `CustomCPUCFSQuotaPeriod` | `false` | Alpha | 1.12 | |
@@ -100,12 +101,14 @@ different Kubernetes components.
100101
| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | |
101102
| `DefaultPodTopologySpread` | `false` | Alpha | 1.19 | 1.19 |
102103
| `DefaultPodTopologySpread` | `true` | Beta | 1.20 | |
103-
| `DelegateFSGroupToCSIDriver` | `false` | Alpha | 1.22 | |
104+
| `DelegateFSGroupToCSIDriver` | `false` | Alpha | 1.22 | 1.22 |
105+
| `DelegateFSGroupToCSIDriver` | `true` | Beta | 1.23 | |
104106
| `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 |
105107
| `DevicePlugins` | `true` | Beta | 1.10 | |
106108
| `DisableAcceleratorUsageMetrics` | `false` | Alpha | 1.19 | 1.19 |
107109
| `DisableAcceleratorUsageMetrics` | `true` | Beta | 1.20 | |
108110
| `DisableCloudProviders` | `false` | Alpha | 1.22 | |
111+
| `DisableKubeletCloudCredentialProviders` | `false` | Alpha | 1.23 | |
109112
| `DownwardAPIHugePages` | `false` | Alpha | 1.20 | 1.20 |
110113
| `DownwardAPIHugePages` | `false` | Beta | 1.21 | |
111114
| `EfficientWatchResumption` | `false` | Alpha | 1.20 | 1.20 |
@@ -124,7 +127,9 @@ different Kubernetes components.
124127
| `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | |
125128
| `GracefulNodeShutdown` | `false` | Alpha | 1.20 | 1.20 |
126129
| `GracefulNodeShutdown` | `true` | Beta | 1.21 | |
130+
| `GracefulNodeShutdownBasedOnPodPriority` | `false` | Alpha | 1.23 | |
127131
| `GRPCContainerProbe` | `false` | Alpha | 1.23 | |
132+
| `HonorPVReclaimPolicy` | `false` | Alpha | 1.23 | |
128133
| `HPAContainerMetrics` | `false` | Alpha | 1.20 | |
129134
| `HPAScaleToZero` | `false` | Alpha | 1.16 | |
130135
| `IdentifyPodOS` | `false` | Alpha | 1.23 | |
@@ -135,14 +140,19 @@ different Kubernetes components.
135140
| `InTreePluginAzureFileUnregister` | `false` | Alpha | 1.21 | |
136141
| `InTreePluginGCEUnregister` | `false` | Alpha | 1.21 | |
137142
| `InTreePluginOpenStackUnregister` | `false` | Alpha | 1.21 | |
143+
| `InTreePluginPortworxUnregister` | `false` | Alpha | 1.23 | |
144+
| `InTreePluginRBDUnregister` | `false` | Alpha | 1.23 | |
138145
| `InTreePluginvSphereUnregister` | `false` | Alpha | 1.21 | |
139146
| `JobMutableNodeSchedulingDirectives` | `true` | Beta | 1.23 | |
140147
| `JobReadyPods` | `false` | Alpha | 1.23 | |
141148
| `JobTrackingWithFinalizers` | `false` | Alpha | 1.22 | 1.22 |
142149
| `JobTrackingWithFinalizers` | `true` | Beta | 1.23 | |
143150
| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | |
144151
| `KubeletInUserNamespace` | `false` | Alpha | 1.22 | |
145-
| `KubeletPodResourcesGetAllocatable` | `false` | Alpha | 1.21 | |
152+
| `KubeletPodResources` | `false` | Alpha | 1.13 | 1.14 |
153+
| `KubeletPodResources` | `true` | Beta | 1.15 | |
154+
| `KubeletPodResourcesGetAllocatable` | `false` | Alpha | 1.21 | 1.22 |
155+
| `KubeletPodResourcesGetAllocatable` | `false` | Beta | 1.23 | |
146156
| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 |
147157
| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | |
148158
| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `false` | Alpha | 1.15 | |
@@ -157,10 +167,13 @@ different Kubernetes components.
157167
| `NodeSwap` | `false` | Alpha | 1.22 | |
158168
| `NonPreemptingPriority` | `false` | Alpha | 1.15 | 1.18 |
159169
| `NonPreemptingPriority` | `true` | Beta | 1.19 | |
160-
| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 |
161-
| `PodDeletionCost` | `true` | Beta | 1.22 | |
170+
| `OpenAPIEnum` | `false` | Alpha | 1.23 | |
171+
| `OpenAPIv3` | `false` | Alpha | 1.23 | |
172+
| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | |
162173
| `PodAffinityNamespaceSelector` | `false` | Alpha | 1.21 | 1.21 |
163174
| `PodAffinityNamespaceSelector` | `true` | Beta | 1.22 | |
175+
| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 |
176+
| `PodDeletionCost` | `true` | Beta | 1.22 | |
164177
| `PodOverhead` | `false` | Alpha | 1.16 | 1.17 |
165178
| `PodOverhead` | `true` | Beta | 1.18 | |
166179
| `PodSecurity` | `false` | Alpha | 1.22 | 1.22 |
@@ -189,6 +202,7 @@ different Kubernetes components.
189202
| `ServiceLoadBalancerClass` | `true` | Beta | 1.22 | |
190203
| `SizeMemoryBackedVolumes` | `false` | Alpha | 1.20 | 1.21 |
191204
| `SizeMemoryBackedVolumes` | `true` | Beta | 1.22 | |
205+
| `StatefulSetAutoDeletePVC` | `false` | Alpha | 1.22 | |
192206
| `StatefulSetMinReadySeconds` | `false` | Alpha | 1.22 | 1.22 |
193207
| `StatefulSetMinReadySeconds` | `true` | Beta | 1.23 | |
194208
| `StorageVersionAPI` | `false` | Alpha | 1.20 | |
@@ -197,13 +211,14 @@ different Kubernetes components.
197211
| `SuspendJob` | `false` | Alpha | 1.21 | 1.21 |
198212
| `SuspendJob` | `true` | Beta | 1.22 | |
199213
| `TopologyAwareHints` | `false` | Alpha | 1.21 | 1.22 |
200-
| `TopologyAwareHints` | `true` | Beta | 1.23 | |
214+
| `TopologyAwareHints` | `false` | Beta | 1.23 | |
201215
| `TopologyManager` | `false` | Alpha | 1.16 | 1.17 |
202216
| `TopologyManager` | `true` | Beta | 1.18 | |
203217
| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | - |
204218
| `WinDSR` | `false` | Alpha | 1.14 | |
205219
| `WinOverlay` | `false` | Alpha | 1.14 | 1.19 |
206220
| `WinOverlay` | `true` | Beta | 1.20 | |
221+
| `WindowsHostProcessContainers` | `false` | Alpha | 1.22 | 1.22 |
207222
| `WindowsHostProcessContainers` | `false` | Beta | 1.23 | |
208223
{{< /table >}}
209224

@@ -233,6 +248,8 @@ different Kubernetes components.
233248
| `BoundServiceAccountTokenVolume` | `false` | Alpha | 1.13 | 1.20 |
234249
| `BoundServiceAccountTokenVolume` | `true` | Beta | 1.21 | 1.21 |
235250
| `BoundServiceAccountTokenVolume` | `true` | GA | 1.22 | - |
251+
| `ConfigurableFSGroupPolicy` | `false` | Alpha | 1.18 | 1.19 |
252+
| `ConfigurableFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 |
236253
| `ConfigurableFSGroupPolicy` | `true` | GA | 1.23 | |
237254
| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | 1.10 |
238255
| `CRIContainerLogRotation` | `true` | Beta | 1.11 | 1.20 |
@@ -312,12 +329,12 @@ different Kubernetes components.
312329
| `EndpointSliceProxying` | `false` | Alpha | 1.18 | 1.18 |
313330
| `EndpointSliceProxying` | `true` | Beta | 1.19 | 1.21 |
314331
| `EndpointSliceProxying` | `true` | GA | 1.22 | - |
315-
| `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | 1.12 |
316-
| `ExperimentalCriticalPodAnnotation` | `false` | Deprecated | 1.13 | - |
317332
| `EvenPodsSpread` | `false` | Alpha | 1.16 | 1.17 |
318333
| `EvenPodsSpread` | `true` | Beta | 1.18 | 1.18 |
319334
| `EvenPodsSpread` | `true` | GA | 1.19 | - |
320335
| `ExecProbeTimeout` | `true` | GA | 1.20 | - |
336+
| `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | 1.12 |
337+
| `ExperimentalCriticalPodAnnotation` | `false` | Deprecated | 1.13 | - |
321338
| `ExternalPolicyForExternalIP` | `true` | GA | 1.18 | - |
322339
| `GCERegionalPersistentDisk` | `true` | Beta | 1.10 | 1.12 |
323340
| `GCERegionalPersistentDisk` | `true` | GA | 1.13 | - |
@@ -330,9 +347,6 @@ different Kubernetes components.
330347
| `HugePages` | `false` | Alpha | 1.8 | 1.9 |
331348
| `HugePages` | `true` | Beta| 1.10 | 1.13 |
332349
| `HugePages` | `true` | GA | 1.14 | - |
333-
| `HugePageStorageMediumSize` | `false` | Alpha | 1.18 | 1.18 |
334-
| `HugePageStorageMediumSize` | `true` | Beta | 1.19 | 1.21 |
335-
| `HugePageStorageMediumSize` | `true` | GA | 1.22 | - |
336350
| `HyperVContainer` | `false` | Alpha | 1.10 | 1.19 |
337351
| `HyperVContainer` | `false` | Deprecated | 1.20 | - |
338352
| `ImmutableEphemeralVolumes` | `false` | Alpha | 1.18 | 1.18 |
@@ -351,9 +365,6 @@ different Kubernetes components.
351365
| `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | 1.11 |
352366
| `KubeletPluginsWatcher` | `true` | Beta | 1.12 | 1.12 |
353367
| `KubeletPluginsWatcher` | `true` | GA | 1.13 | - |
354-
| `KubeletPodResources` | `false` | Alpha | 1.13 | 1.14 |
355-
| `KubeletPodResources` | `true` | Beta | 1.15 | |
356-
| `KubeletPodResources` | `true` | GA | 1.20 | |
357368
| `LegacyNodeRoleBehavior` | `false` | Alpha | 1.16 | 1.18 |
358369
| `LegacyNodeRoleBehavior` | `true` | Beta | 1.19 | 1.20 |
359370
| `LegacyNodeRoleBehavior` | `false` | GA | 1.21 | - |
@@ -375,7 +386,6 @@ different Kubernetes components.
375386
| `PersistentLocalVolumes` | `false` | Alpha | 1.7 | 1.9 |
376387
| `PersistentLocalVolumes` | `true` | Beta | 1.10 | 1.13 |
377388
| `PersistentLocalVolumes` | `true` | GA | 1.14 | - |
378-
| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | |
379389
| `PodDisruptionBudget` | `false` | Alpha | 1.3 | 1.4 |
380390
| `PodDisruptionBudget` | `true` | Beta | 1.5 | 1.20 |
381391
| `PodDisruptionBudget` | `true` | GA | 1.21 | - |
@@ -497,7 +507,6 @@ different Kubernetes components.
497507
| `WindowsGMSA` | `false` | Alpha | 1.14 | 1.15 |
498508
| `WindowsGMSA` | `true` | Beta | 1.16 | 1.17 |
499509
| `WindowsGMSA` | `true` | GA | 1.18 | - |
500-
| `WindowsHostProcessContainers` | `false` | Alpha | 1.22 |
501510
| `WindowsRunAsUserName` | `false` | Alpha | 1.16 | 1.16 |
502511
| `WindowsRunAsUserName` | `true` | Beta | 1.17 | 1.17 |
503512
| `WindowsRunAsUserName` | `true` | GA | 1.18 | - |
@@ -586,6 +595,12 @@ Each feature gate is designed for enabling/disabling a specific feature:
586595
(e.g. the cloud-controller-manager) in an HA cluster without downtime.
587596
- `CPUManager`: Enable container level CPU affinity support, see
588597
[CPU Management Policies](/docs/tasks/administer-cluster/cpu-management-policies/).
598+
- `CPUManagerPolicyAlphaOptions`: This allows fine-tuning of CPUManager policies, experimental, Alpha-quality options
599+
This feature gate guards *a group* of CPUManager options whose quality level is alpha.
600+
This feature gate will never graduate to beta or stable.
601+
- `CPUManagerPolicyBetaOptions`: This allows fine-tuning of CPUManager policies, experimental, Beta-quality options
602+
This feature gate guards *a group* of CPUManager options whose quality level is beta.
603+
This feature gate will never graduate to stable.
589604
- `CPUManagerPolicyOptions`: Allow fine-tuning of CPUManager policies.
590605
- `CRIContainerLogRotation`: Enable container log rotation for CRI container runtime. The default max size of a log file is 10MB and the
591606
default max number of log files allowed for a container is 5. These values can be configured in the kubelet config.
@@ -728,6 +743,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
728743
- `DisableCloudProviders`: Disables any functionality in `kube-apiserver`,
729744
`kube-controller-manager` and `kubelet` related to the `--cloud-provider`
730745
component flag.
746+
- `DisableKubeletCloudCredentialProviders`: Disable the in-tree functionality in kubelet
747+
to authenticate to a cloud provider container registry for image pull credentials.
731748
- `DownwardAPIHugePages`: Enables usage of hugepages in
732749
[downward API](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information).
733750
- `DryRun`: Enable server-side [dry run](/docs/reference/using-api/api-concepts/#dry-run) requests
@@ -792,7 +809,10 @@ Each feature gate is designed for enabling/disabling a specific feature:
792809
and gracefully terminate pods running on the node. See
793810
[Graceful Node Shutdown](/docs/concepts/architecture/nodes/#graceful-node-shutdown)
794811
for more details.
812+
= `GracefulNodeShutdownBasedOnPodPriority`: Enables the kubelet to check Pod priorities
813+
when shutting down a node gracefully.
795814
- `GRPCContainerProbe`: Enables the gRPC probe method for {Liveness,Readiness,Startup}Probe. See [Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe).
815+
- `HonorPVReclaimPolicy`: Honor persistent volume reclaim policy when it is `Delete` irrespective of PV-PVC deletion ordering.
796816
- `HPAContainerMetrics`: Enable the `HorizontalPodAutoscaler` to scale based on
797817
metrics from individual containers in target pods.
798818
- `HPAScaleToZero`: Enables setting `minReplicas` to 0 for `HorizontalPodAutoscaler`
@@ -818,6 +838,10 @@ Each feature gate is designed for enabling/disabling a specific feature:
818838
and volume controllers.
819839
- `InTreePluginOpenStackUnregister`: Stops registering the OpenStack cinder in-tree plugin in kubelet
820840
and volume controllers.
841+
- `InTreePluginPortworxUnregister`: Stops registering the Portworx in-tree plugin in kubelet
842+
and volume controllers.
843+
- `InTreePluginRBDUnregister`: Stops registering the RBD in-tree plugin in kubelet
844+
and volume controllers.
821845
- `InTreePluginvSphereUnregister`: Stops registering the vSphere in-tree plugin in kubelet
822846
and volume controllers.
823847
- `IndexedJob`: Allows the [Job](/docs/concepts/workloads/controllers/job/)
@@ -889,6 +913,9 @@ Each feature gate is designed for enabling/disabling a specific feature:
889913
Must be used with `KubeletConfiguration.failSwapOn` set to false.
890914
For more details, please see [swap memory](/docs/concepts/architecture/nodes/#swap-memory)
891915
- `NonPreemptingPriority`: Enable `preemptionPolicy` field for PriorityClass and Pod.
916+
- `OpenAPIEnum`: Enables populating "enum" fields of OpenAPI schemas in the
917+
spec returned from the API server.
918+
- `OpenAPIv3`: Enables the API server to publish OpenAPI v3.
892919
- `PVCProtection`: Enable the prevention of a PersistentVolumeClaim (PVC) from
893920
being deleted when it is still used by any Pod.
894921
- `PodDeletionCost`: Enable the [Pod Deletion Cost](/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost)

0 commit comments

Comments
 (0)