@@ -58,7 +58,6 @@ different Kubernetes components.
58
58
| ` AllowInsecureBackendProxy ` | ` true ` | Beta | 1.17 | |
59
59
| ` AnyVolumeDataSource ` | ` false ` | Alpha | 1.18 | |
60
60
| ` AppArmor ` | ` true ` | Beta | 1.4 | |
61
- | ` BalanceAttachedNodeVolumes ` | ` false ` | Alpha | 1.11 | |
62
61
| ` CPUManager ` | ` false ` | Alpha | 1.8 | 1.9 |
63
62
| ` CPUManager ` | ` true ` | Beta | 1.10 | |
64
63
| ` CSIInlineVolume ` | ` false ` | Alpha | 1.15 | 1.15 |
@@ -81,9 +80,6 @@ different Kubernetes components.
81
80
| ` CSIMigrationOpenStack ` | ` true ` | Beta | 1.18 | |
82
81
| ` CSIMigrationOpenStackComplete ` | ` false ` | Alpha | 1.17 | |
83
82
| ` CSIMigrationvSphere ` | ` false ` | Beta | 1.19 | |
84
- | ` CSIMigrationvSphereComplete ` | ` false ` | Beta | 1.19 | |
85
- | ` CSIServiceAccountToken ` | ` false ` | Alpha | 1.20 | 1.20 |
86
- | ` CSIServiceAccountToken ` | ` true ` | Beta | 1.21 | |
87
83
| ` CSIStorageCapacity ` | ` false ` | Alpha | 1.19 | 1.20 |
88
84
| ` CSIStorageCapacity ` | ` true ` | Beta | 1.21 | |
89
85
| ` CSIVolumeFSGroupPolicy ` | ` false ` | Alpha | 1.19 | 1.19 |
@@ -92,12 +88,15 @@ different Kubernetes components.
92
88
| ` ConfigurableFSGroupPolicy ` | ` false ` | Alpha | 1.18 | 1.19 |
93
89
| ` ConfigurableFSGroupPolicy ` | ` true ` | Beta | 1.20 | |
94
90
| ` CustomCPUCFSQuotaPeriod ` | ` false ` | Alpha | 1.12 | |
91
+ | ` DaemonSetUpdateSurge ` | ` false ` | Alpha | 1.21 | 1.21 |
92
+ | ` DaemonSetUpdateSurge ` | ` true ` | Beta | 1.22 | |
95
93
| ` DefaultPodTopologySpread ` | ` false ` | Alpha | 1.19 | 1.19 |
96
94
| ` DefaultPodTopologySpread ` | ` true ` | Beta | 1.20 | |
97
95
| ` DevicePlugins ` | ` false ` | Alpha | 1.8 | 1.9 |
98
96
| ` DevicePlugins ` | ` true ` | Beta | 1.10 | |
99
97
| ` DisableAcceleratorUsageMetrics ` | ` false ` | Alpha | 1.19 | 1.19 |
100
98
| ` DisableAcceleratorUsageMetrics ` | ` true ` | Beta | 1.20 | |
99
+ | ` DisableCloudProviders ` | ` false ` | Alpha | 1.22 | |
101
100
| ` DownwardAPIHugePages ` | ` false ` | Alpha | 1.20 | 1.20 |
102
101
| ` DownwardAPIHugePages ` | ` false ` | Beta | 1.21 | |
103
102
| ` DynamicKubeletConfig ` | ` false ` | Alpha | 1.4 | 1.10 |
@@ -123,30 +122,30 @@ different Kubernetes components.
123
122
| ` HPAScaleToZero ` | ` false ` | Alpha | 1.16 | |
124
123
| ` HugePageStorageMediumSize ` | ` false ` | Alpha | 1.18 | 1.18 |
125
124
| ` HugePageStorageMediumSize ` | ` true ` | Beta | 1.19 | |
126
- | ` IndexedJob ` | ` false ` | Alpha | 1.21 | |
125
+ | ` IndexedJob ` | ` false ` | Alpha | 1.21 | 1.21 |
126
+ | ` IndexedJob ` | ` true ` | Beta | 1.22 | |
127
127
| ` IngressClassNamespacedParams ` | ` false ` | Alpha | 1.21 | |
128
128
| ` IPv6DualStack ` | ` false ` | Alpha | 1.15 | 1.20 |
129
129
| ` IPv6DualStack ` | ` true ` | Beta | 1.21 | |
130
130
| ` KubeletCredentialProviders ` | ` false ` | Alpha | 1.20 | |
131
- | ` LegacyNodeRoleBehavior ` | ` false ` | Alpha | 1.16 | 1.18 |
132
- | ` LegacyNodeRoleBehavior ` | ` true ` | Beta | 1.19 | 1.20 |
133
131
| ` LocalStorageCapacityIsolation ` | ` false ` | Alpha | 1.7 | 1.9 |
134
132
| ` LocalStorageCapacityIsolation ` | ` true ` | Beta | 1.10 | |
135
133
| ` LocalStorageCapacityIsolationFSQuotaMonitoring ` | ` false ` | Alpha | 1.15 | |
136
134
| ` LogarithmicScaleDown ` | ` false ` | Alpha | 1.21 | |
137
135
| ` KubeletPodResourcesGetAllocatable ` | ` false ` | Alpha | 1.21 | |
138
136
| ` MixedProtocolLBService ` | ` false ` | Alpha | 1.20 | |
139
- | ` NamespaceDefaultLabelName ` | ` true ` | Beta | 1.21 | |
140
- | ` NetworkPolicyEndPort ` | ` false ` | Alpha | 1.21 | |
141
- | ` NodeDisruptionExclusion ` | ` false ` | Alpha | 1.16 | 1.18 |
142
- | ` NodeDisruptionExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
137
+ | ` NetworkPolicyEndPort ` | ` false ` | Alpha | 1.21 | 1.21 |
138
+ | ` NetworkPolicyEndPort ` | ` true ` | Beta | 1.22 | |
143
139
| ` NonPreemptingPriority ` | ` false ` | Alpha | 1.15 | 1.18 |
144
140
| ` NonPreemptingPriority ` | ` true ` | Beta | 1.19 | |
145
- | ` PodDeletionCost ` | ` false ` | Alpha | 1.21 | |
141
+ | ` PodDeletionCost ` | ` false ` | Alpha | 1.21 | 1.21 |
142
+ | ` PodDeletionCost ` | ` true ` | Beta | 1.22 | |
146
143
| ` PodAffinityNamespaceSelector ` | ` false ` | Alpha | 1.21 | 1.21 |
147
144
| ` PodAffinityNamespaceSelector ` | ` true ` | Beta | 1.22 | |
148
145
| ` PodOverhead ` | ` false ` | Alpha | 1.16 | 1.17 |
149
146
| ` PodOverhead ` | ` true ` | Beta | 1.18 | |
147
+ | ` PreferNominatedNode ` | ` false ` | Alpha | 1.21 | 1.21 |
148
+ | ` PreferNominatedNode ` | ` true ` | Beta | 1.22 | |
150
149
| ` ProbeTerminationGracePeriod ` | ` false ` | Alpha | 1.21 | |
151
150
| ` ProcMountType ` | ` false ` | Alpha | 1.12 | |
152
151
| ` QOSReserved ` | ` false ` | Alpha | 1.11 | |
@@ -155,19 +154,19 @@ different Kubernetes components.
155
154
| ` RemoveSelfLink ` | ` true ` | Beta | 1.20 | |
156
155
| ` RotateKubeletServerCertificate ` | ` false ` | Alpha | 1.7 | 1.11 |
157
156
| ` RotateKubeletServerCertificate ` | ` true ` | Beta | 1.12 | |
158
- | ` RunAsGroup ` | ` true ` | Beta | 1.14 | |
159
157
| ` SeccompDefault ` | ` false ` | Alpha | 1.22 | |
160
158
| ` ServiceInternalTrafficPolicy ` | ` false ` | Alpha | 1.21 | |
161
159
| ` ServiceLBNodePortControl ` | ` false ` | Alpha | 1.20 | |
162
- | ` ServiceLoadBalancerClass ` | ` false ` | Alpha | 1.21 | |
163
- | ` ServiceNodeExclusion ` | ` false ` | Alpha | 1.8 | 1.18 |
164
- | ` ServiceNodeExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
165
- | ` ServiceTopology ` | ` false ` | Alpha | 1.17 | |
166
- | ` SizeMemoryBackedVolumes ` | ` false ` | Alpha | 1.20 | |
160
+ | ` ServiceLoadBalancerClass ` | ` false ` | Alpha | 1.21 | 1.21 |
161
+ | ` ServiceLoadBalancerClass ` | ` true ` | Beta | 1.22 | |
162
+ | ` SizeMemoryBackedVolumes ` | ` false ` | Alpha | 1.20 | 1.21 |
163
+ | ` SizeMemoryBackedVolumes ` | ` true ` | Beta | 1.22 | |
164
+ | ` StatefulSetMinReadySeconds ` | ` false ` | Alpha | 1.22 | |
167
165
| ` StorageVersionAPI ` | ` false ` | Alpha | 1.20 | |
168
166
| ` StorageVersionHash ` | ` false ` | Alpha | 1.14 | 1.14 |
169
167
| ` StorageVersionHash ` | ` true ` | Beta | 1.15 | |
170
- | ` SuspendJob ` | ` false ` | Alpha | 1.21 | |
168
+ | ` SuspendJob ` | ` false ` | Alpha | 1.21 | 1.21 |
169
+ | ` SuspendJob ` | ` true ` | Beta | 1.22 | |
171
170
| ` TTLAfterFinished ` | ` false ` | Alpha | 1.12 | 1.20 |
172
171
| ` TTLAfterFinished ` | ` true ` | Beta | 1.21 | |
173
172
| ` TopologyAwareHints ` | ` false ` | Alpha | 1.21 | |
@@ -179,6 +178,7 @@ different Kubernetes components.
179
178
| ` WinOverlay ` | ` true ` | Beta | 1.20 | |
180
179
| ` WindowsEndpointSliceProxying ` | ` false ` | Alpha | 1.19 | 1.20 |
181
180
| ` WindowsEndpointSliceProxying ` | ` true ` | Beta | 1.21 | |
181
+ | ` WindowsHostProcessContainers ` | ` false ` | Alpha | 1.22 | |
182
182
{{< /table >}}
183
183
184
184
### Feature gates for graduated or deprecated features
@@ -199,11 +199,13 @@ different Kubernetes components.
199
199
| ` AttachVolumeLimit ` | ` false ` | Alpha | 1.11 | 1.11 |
200
200
| ` AttachVolumeLimit ` | ` true ` | Beta | 1.12 | 1.16 |
201
201
| ` AttachVolumeLimit ` | ` true ` | GA | 1.17 | - |
202
+ | ` BalanceAttachedNodeVolumes ` | ` false ` | Alpha | 1.11 | 1.21 |
203
+ | ` BalanceAttachedNodeVolumes ` | ` false ` | Deprecated | 1.22 | |
202
204
| ` BlockVolume ` | ` false ` | Alpha | 1.9 | 1.12 |
203
205
| ` BlockVolume ` | ` true ` | Beta | 1.13 | 1.17 |
204
206
| ` BlockVolume ` | ` true ` | GA | 1.18 | - |
205
207
| ` BoundServiceAccountTokenVolume ` | ` false ` | Alpha | 1.13 | 1.20 |
206
- | ` BoundServiceAccountTokenVolume ` | ` true ` | Beta | 1.21 | 1.22 |
208
+ | ` BoundServiceAccountTokenVolume ` | ` true ` | Beta | 1.21 | 1.21 |
207
209
| ` BoundServiceAccountTokenVolume ` | ` true ` | GA | 1.22 | - |
208
210
| ` CRIContainerLogRotation ` | ` false ` | Alpha | 1.10 | 1.10 |
209
211
| ` CRIContainerLogRotation ` | ` true ` | Beta | 1.11 | 1.20 |
@@ -214,12 +216,17 @@ different Kubernetes components.
214
216
| ` CSIDriverRegistry ` | ` false ` | Alpha | 1.12 | 1.13 |
215
217
| ` CSIDriverRegistry ` | ` true ` | Beta | 1.14 | 1.17 |
216
218
| ` CSIDriverRegistry ` | ` true ` | GA | 1.18 | |
219
+ | ` CSIMigrationvSphereComplete ` | ` false ` | Beta | 1.19 | 1.21 |
220
+ | ` CSIMigrationvSphereComplete ` | ` false ` | Deprecated | 1.22 | - |
217
221
| ` CSINodeInfo ` | ` false ` | Alpha | 1.12 | 1.13 |
218
222
| ` CSINodeInfo ` | ` true ` | Beta | 1.14 | 1.16 |
219
223
| ` CSINodeInfo ` | ` true ` | GA | 1.17 | |
220
224
| ` CSIPersistentVolume ` | ` false ` | Alpha | 1.9 | 1.9 |
221
225
| ` CSIPersistentVolume ` | ` true ` | Beta | 1.10 | 1.12 |
222
226
| ` CSIPersistentVolume ` | ` true ` | GA | 1.13 | - |
227
+ | ` CSIServiceAccountToken ` | ` false ` | Alpha | 1.20 | 1.20 |
228
+ | ` CSIServiceAccountToken ` | ` true ` | Beta | 1.21 | 1.21 |
229
+ | ` CSIServiceAccountToken ` | ` true ` | GA | 1.22 | |
223
230
| ` CronJobControllerV2 ` | ` false ` | Alpha | 1.20 | 1.20 |
224
231
| ` CronJobControllerV2 ` | ` true ` | Beta | 1.21 | 1.21 |
225
232
| ` CronJobControllerV2 ` | ` true ` | GA | 1.22 | - |
@@ -286,16 +293,22 @@ different Kubernetes components.
286
293
| ` KubeletPodResources ` | ` false ` | Alpha | 1.13 | 1.14 |
287
294
| ` KubeletPodResources ` | ` true ` | Beta | 1.15 | |
288
295
| ` KubeletPodResources ` | ` true ` | GA | 1.20 | |
296
+ | ` LegacyNodeRoleBehavior ` | ` false ` | Alpha | 1.16 | 1.18 |
297
+ | ` LegacyNodeRoleBehavior ` | ` true ` | Beta | 1.19 | 1.20 |
289
298
| ` LegacyNodeRoleBehavior ` | ` false ` | GA | 1.21 | - |
290
299
| ` MountContainers ` | ` false ` | Alpha | 1.9 | 1.16 |
291
300
| ` MountContainers ` | ` false ` | Deprecated | 1.17 | - |
292
301
| ` MountPropagation ` | ` false ` | Alpha | 1.8 | 1.9 |
293
302
| ` MountPropagation ` | ` true ` | Beta | 1.10 | 1.11 |
294
303
| ` MountPropagation ` | ` true ` | GA | 1.12 | - |
304
+ | ` NodeDisruptionExclusion ` | ` false ` | Alpha | 1.16 | 1.18 |
305
+ | ` NodeDisruptionExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
295
306
| ` NodeDisruptionExclusion ` | ` true ` | GA | 1.21 | - |
296
307
| ` NodeLease ` | ` false ` | Alpha | 1.12 | 1.13 |
297
308
| ` NodeLease ` | ` true ` | Beta | 1.14 | 1.16 |
298
309
| ` NodeLease ` | ` true ` | GA | 1.17 | - |
310
+ | ` NamespaceDefaultLabelName ` | ` true ` | Beta | 1.21 | 1.21 |
311
+ | ` NamespaceDefaultLabelName ` | ` true ` | GA | 1.22 | - |
299
312
| ` PVCProtection ` | ` false ` | Alpha | 1.9 | 1.9 |
300
313
| ` PVCProtection ` | - | Deprecated | 1.10 | - |
301
314
| ` PersistentLocalVolumes ` | ` false ` | Alpha | 1.7 | 1.9 |
@@ -325,15 +338,17 @@ different Kubernetes components.
325
338
| ` RootCAConfigMap ` | ` true ` | GA | 1.21 | - |
326
339
| ` RotateKubeletClientCertificate ` | ` true ` | Beta | 1.8 | 1.18 |
327
340
| ` RotateKubeletClientCertificate ` | ` true ` | GA | 1.19 | - |
341
+ | ` RunAsGroup ` | ` true ` | Beta | 1.14 | 1.20 |
342
+ | ` RunAsGroup ` | ` true ` | GA | 1.21 | - |
328
343
| ` RuntimeClass ` | ` false ` | Alpha | 1.12 | 1.13 |
329
344
| ` RuntimeClass ` | ` true ` | Beta | 1.14 | 1.19 |
330
345
| ` RuntimeClass ` | ` true ` | GA | 1.20 | - |
331
- | ` ScheduleDaemonSetPods ` | ` false ` | Alpha | 1.11 | 1.11 |
332
- | ` ScheduleDaemonSetPods ` | ` true ` | Beta | 1.12 | 1.16 |
333
- | ` ScheduleDaemonSetPods ` | ` true ` | GA | 1.17 | - |
334
346
| ` SCTPSupport ` | ` false ` | Alpha | 1.12 | 1.18 |
335
347
| ` SCTPSupport ` | ` true ` | Beta | 1.19 | 1.19 |
336
348
| ` SCTPSupport ` | ` true ` | GA | 1.20 | - |
349
+ | ` ScheduleDaemonSetPods ` | ` false ` | Alpha | 1.11 | 1.11 |
350
+ | ` ScheduleDaemonSetPods ` | ` true ` | Beta | 1.12 | 1.16 |
351
+ | ` ScheduleDaemonSetPods ` | ` true ` | GA | 1.17 | - |
337
352
| ` ServerSideApply ` | ` false ` | Alpha | 1.14 | 1.15 |
338
353
| ` ServerSideApply ` | ` true ` | Beta | 1.16 | 1.21 |
339
354
| ` ServerSideApply ` | ` true ` | GA | 1.22 | - |
@@ -346,7 +361,11 @@ different Kubernetes components.
346
361
| ` ServiceLoadBalancerFinalizer ` | ` false ` | Alpha | 1.15 | 1.15 |
347
362
| ` ServiceLoadBalancerFinalizer ` | ` true ` | Beta | 1.16 | 1.16 |
348
363
| ` ServiceLoadBalancerFinalizer ` | ` true ` | GA | 1.17 | - |
364
+ | ` ServiceNodeExclusion ` | ` false ` | Alpha | 1.8 | 1.18 |
365
+ | ` ServiceNodeExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
349
366
| ` ServiceNodeExclusion ` | ` true ` | GA | 1.21 | - |
367
+ | ` ServiceTopology ` | ` false ` | Alpha | 1.17 | 1.19 |
368
+ | ` ServiceTopology ` | ` false ` | Deprecated | 1.20 | - |
350
369
| ` SetHostnameAsFQDN ` | ` false ` | Alpha | 1.19 | 1.19 |
351
370
| ` SetHostnameAsFQDN ` | ` true ` | Beta | 1.20 | 1.21 |
352
371
| ` SetHostnameAsFQDN ` | ` true ` | GA | 1.22 | - |
@@ -593,12 +612,17 @@ Each feature gate is designed for enabling/disabling a specific feature:
593
612
[ CustomResourceDefinition] ( /docs/concepts/extend-kubernetes/api-extension/custom-resources/ ) .
594
613
- ` CustomResourceWebhookConversion ` : Enable webhook-based conversion
595
614
on resources created from [ CustomResourceDefinition] ( /docs/concepts/extend-kubernetes/api-extension/custom-resources/ ) .
615
+ - ` DaemonSetUpdateSurge ` : Enables the DaemonSet workloads to maintain
616
+ availability during update per node.
596
617
- ` DefaultPodTopologySpread ` : Enables the use of ` PodTopologySpread ` scheduling plugin to do
597
618
[ default spreading] ( /docs/concepts/workloads/pods/pod-topology-spread-constraints/#internal-default-constraints ) .
598
619
- ` DevicePlugins ` : Enable the [ device-plugins] ( /docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/ )
599
620
based resource provisioning on nodes.
600
621
- ` DisableAcceleratorUsageMetrics ` :
601
622
[ Disable accelerator metrics collected by the kubelet] ( /docs/concepts/cluster-administration/system-metrics/#disable-accelerator-metrics ) .
623
+ - ` DisableCloudProviders ` : Disables any functionality in ` kube-apiserver ` ,
624
+ ` kube-controller-manager ` and ` kubelet ` related to the ` --cloud-provider `
625
+ component flag.
602
626
- ` DownwardAPIHugePages ` : Enables usage of hugepages in
603
627
[ downward API] ( /docs/tasks/inject-data-application/downward-api-volume-expose-pod-information ) .
604
628
- ` DryRun ` : Enable server-side [ dry run] ( /docs/reference/using-api/api-concepts/#dry-run ) requests
@@ -745,6 +769,9 @@ Each feature gate is designed for enabling/disabling a specific feature:
745
769
- ` PodShareProcessNamespace ` : Enable the setting of ` shareProcessNamespace ` in a Pod for sharing
746
770
a single process namespace between containers running in a pod. More details can be found in
747
771
[ Share Process Namespace between Containers in a Pod] ( /docs/tasks/configure-pod-container/share-process-namespace/ ) .
772
+ - ` PreferNominatedNode ` : This flag tells the scheduler whether the nominated
773
+ nodes will be checked first before looping through all the other nodes in
774
+ the cluster.
748
775
- ` ProbeTerminationGracePeriod ` : Enable [ setting probe-level
749
776
` terminationGracePeriodSeconds ` ] ( /docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationgraceperiodseconds )
750
777
on pods. See the [ enhancement proposal] ( https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2238-liveness-probe-grace-period ) for more details.
@@ -813,6 +840,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
813
840
- ` StartupProbe ` : Enable the
814
841
[ startup] ( /docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe )
815
842
probe in the kubelet.
843
+ - ` StatefulSetMinReadySeconds ` : Allows ` minReadySeconds ` to be respected by
844
+ the StatefulSet controller.
816
845
- ` StorageObjectInUseProtection ` : Postpone the deletion of PersistentVolume or
817
846
PersistentVolumeClaim objects if they are still being used.
818
847
- ` StorageVersionAPI ` : Enable the
@@ -882,6 +911,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
882
911
will use EndpointSlices as the primary data source instead of Endpoints,
883
912
enabling scalability and performance improvements. See
884
913
[ Enabling Endpoint Slices] ( /docs/tasks/administer-cluster/enabling-endpointslices/ ) .
914
+ - ` WindowsHostProcessContainers ` : Enables the support for ` HostProcess `
915
+ containers on Windows nodes.
885
916
886
917
887
918
## {{% heading "whatsnext" %}}
0 commit comments