@@ -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,18 +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 | |
157
+ | ` SeccompDefault ` | ` false ` | Alpha | 1.22 | |
159
158
| ` ServiceInternalTrafficPolicy ` | ` false ` | Alpha | 1.21 | |
160
159
| ` ServiceLBNodePortControl ` | ` false ` | Alpha | 1.20 | |
161
- | ` ServiceLoadBalancerClass ` | ` false ` | Alpha | 1.21 | |
162
- | ` ServiceNodeExclusion ` | ` false ` | Alpha | 1.8 | 1.18 |
163
- | ` ServiceNodeExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
164
- | ` ServiceTopology ` | ` false ` | Alpha | 1.17 | |
165
- | ` 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 | |
166
165
| ` StorageVersionAPI ` | ` false ` | Alpha | 1.20 | |
167
166
| ` StorageVersionHash ` | ` false ` | Alpha | 1.14 | 1.14 |
168
167
| ` StorageVersionHash ` | ` true ` | Beta | 1.15 | |
169
- | ` SuspendJob ` | ` false ` | Alpha | 1.21 | |
168
+ | ` SuspendJob ` | ` false ` | Alpha | 1.21 | 1.21 |
169
+ | ` SuspendJob ` | ` true ` | Beta | 1.22 | |
170
170
| ` TTLAfterFinished ` | ` false ` | Alpha | 1.12 | 1.20 |
171
171
| ` TTLAfterFinished ` | ` true ` | Beta | 1.21 | |
172
172
| ` TopologyAwareHints ` | ` false ` | Alpha | 1.21 | |
@@ -178,6 +178,7 @@ different Kubernetes components.
178
178
| ` WinOverlay ` | ` true ` | Beta | 1.20 | |
179
179
| ` WindowsEndpointSliceProxying ` | ` false ` | Alpha | 1.19 | 1.20 |
180
180
| ` WindowsEndpointSliceProxying ` | ` true ` | Beta | 1.21 | |
181
+ | ` WindowsHostProcessContainers ` | ` false ` | Alpha | 1.22 | |
181
182
{{< /table >}}
182
183
183
184
### Feature gates for graduated or deprecated features
@@ -198,11 +199,13 @@ different Kubernetes components.
198
199
| ` AttachVolumeLimit ` | ` false ` | Alpha | 1.11 | 1.11 |
199
200
| ` AttachVolumeLimit ` | ` true ` | Beta | 1.12 | 1.16 |
200
201
| ` AttachVolumeLimit ` | ` true ` | GA | 1.17 | - |
202
+ | ` BalanceAttachedNodeVolumes ` | ` false ` | Alpha | 1.11 | 1.21 |
203
+ | ` BalanceAttachedNodeVolumes ` | ` false ` | Deprecated | 1.22 | |
201
204
| ` BlockVolume ` | ` false ` | Alpha | 1.9 | 1.12 |
202
205
| ` BlockVolume ` | ` true ` | Beta | 1.13 | 1.17 |
203
206
| ` BlockVolume ` | ` true ` | GA | 1.18 | - |
204
207
| ` BoundServiceAccountTokenVolume ` | ` false ` | Alpha | 1.13 | 1.20 |
205
- | ` BoundServiceAccountTokenVolume ` | ` true ` | Beta | 1.21 | 1.22 |
208
+ | ` BoundServiceAccountTokenVolume ` | ` true ` | Beta | 1.21 | 1.21 |
206
209
| ` BoundServiceAccountTokenVolume ` | ` true ` | GA | 1.22 | - |
207
210
| ` CRIContainerLogRotation ` | ` false ` | Alpha | 1.10 | 1.10 |
208
211
| ` CRIContainerLogRotation ` | ` true ` | Beta | 1.11 | 1.20 |
@@ -213,12 +216,17 @@ different Kubernetes components.
213
216
| ` CSIDriverRegistry ` | ` false ` | Alpha | 1.12 | 1.13 |
214
217
| ` CSIDriverRegistry ` | ` true ` | Beta | 1.14 | 1.17 |
215
218
| ` CSIDriverRegistry ` | ` true ` | GA | 1.18 | |
219
+ | ` CSIMigrationvSphereComplete ` | ` false ` | Beta | 1.19 | 1.21 |
220
+ | ` CSIMigrationvSphereComplete ` | ` false ` | Deprecated | 1.22 | - |
216
221
| ` CSINodeInfo ` | ` false ` | Alpha | 1.12 | 1.13 |
217
222
| ` CSINodeInfo ` | ` true ` | Beta | 1.14 | 1.16 |
218
223
| ` CSINodeInfo ` | ` true ` | GA | 1.17 | |
219
224
| ` CSIPersistentVolume ` | ` false ` | Alpha | 1.9 | 1.9 |
220
225
| ` CSIPersistentVolume ` | ` true ` | Beta | 1.10 | 1.12 |
221
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 | |
222
230
| ` CronJobControllerV2 ` | ` false ` | Alpha | 1.20 | 1.20 |
223
231
| ` CronJobControllerV2 ` | ` true ` | Beta | 1.21 | 1.21 |
224
232
| ` CronJobControllerV2 ` | ` true ` | GA | 1.22 | - |
@@ -285,16 +293,22 @@ different Kubernetes components.
285
293
| ` KubeletPodResources ` | ` false ` | Alpha | 1.13 | 1.14 |
286
294
| ` KubeletPodResources ` | ` true ` | Beta | 1.15 | |
287
295
| ` KubeletPodResources ` | ` true ` | GA | 1.20 | |
296
+ | ` LegacyNodeRoleBehavior ` | ` false ` | Alpha | 1.16 | 1.18 |
297
+ | ` LegacyNodeRoleBehavior ` | ` true ` | Beta | 1.19 | 1.20 |
288
298
| ` LegacyNodeRoleBehavior ` | ` false ` | GA | 1.21 | - |
289
299
| ` MountContainers ` | ` false ` | Alpha | 1.9 | 1.16 |
290
300
| ` MountContainers ` | ` false ` | Deprecated | 1.17 | - |
291
301
| ` MountPropagation ` | ` false ` | Alpha | 1.8 | 1.9 |
292
302
| ` MountPropagation ` | ` true ` | Beta | 1.10 | 1.11 |
293
303
| ` MountPropagation ` | ` true ` | GA | 1.12 | - |
304
+ | ` NodeDisruptionExclusion ` | ` false ` | Alpha | 1.16 | 1.18 |
305
+ | ` NodeDisruptionExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
294
306
| ` NodeDisruptionExclusion ` | ` true ` | GA | 1.21 | - |
295
307
| ` NodeLease ` | ` false ` | Alpha | 1.12 | 1.13 |
296
308
| ` NodeLease ` | ` true ` | Beta | 1.14 | 1.16 |
297
309
| ` NodeLease ` | ` true ` | GA | 1.17 | - |
310
+ | ` NamespaceDefaultLabelName ` | ` true ` | Beta | 1.21 | 1.21 |
311
+ | ` NamespaceDefaultLabelName ` | ` true ` | GA | 1.22 | - |
298
312
| ` PVCProtection ` | ` false ` | Alpha | 1.9 | 1.9 |
299
313
| ` PVCProtection ` | - | Deprecated | 1.10 | - |
300
314
| ` PersistentLocalVolumes ` | ` false ` | Alpha | 1.7 | 1.9 |
@@ -324,15 +338,17 @@ different Kubernetes components.
324
338
| ` RootCAConfigMap ` | ` true ` | GA | 1.21 | - |
325
339
| ` RotateKubeletClientCertificate ` | ` true ` | Beta | 1.8 | 1.18 |
326
340
| ` RotateKubeletClientCertificate ` | ` true ` | GA | 1.19 | - |
341
+ | ` RunAsGroup ` | ` true ` | Beta | 1.14 | 1.20 |
342
+ | ` RunAsGroup ` | ` true ` | GA | 1.21 | - |
327
343
| ` RuntimeClass ` | ` false ` | Alpha | 1.12 | 1.13 |
328
344
| ` RuntimeClass ` | ` true ` | Beta | 1.14 | 1.19 |
329
345
| ` RuntimeClass ` | ` true ` | GA | 1.20 | - |
330
- | ` ScheduleDaemonSetPods ` | ` false ` | Alpha | 1.11 | 1.11 |
331
- | ` ScheduleDaemonSetPods ` | ` true ` | Beta | 1.12 | 1.16 |
332
- | ` ScheduleDaemonSetPods ` | ` true ` | GA | 1.17 | - |
333
346
| ` SCTPSupport ` | ` false ` | Alpha | 1.12 | 1.18 |
334
347
| ` SCTPSupport ` | ` true ` | Beta | 1.19 | 1.19 |
335
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 | - |
336
352
| ` ServerSideApply ` | ` false ` | Alpha | 1.14 | 1.15 |
337
353
| ` ServerSideApply ` | ` true ` | Beta | 1.16 | 1.21 |
338
354
| ` ServerSideApply ` | ` true ` | GA | 1.22 | - |
@@ -345,7 +361,11 @@ different Kubernetes components.
345
361
| ` ServiceLoadBalancerFinalizer ` | ` false ` | Alpha | 1.15 | 1.15 |
346
362
| ` ServiceLoadBalancerFinalizer ` | ` true ` | Beta | 1.16 | 1.16 |
347
363
| ` ServiceLoadBalancerFinalizer ` | ` true ` | GA | 1.17 | - |
364
+ | ` ServiceNodeExclusion ` | ` false ` | Alpha | 1.8 | 1.18 |
365
+ | ` ServiceNodeExclusion ` | ` true ` | Beta | 1.19 | 1.20 |
348
366
| ` ServiceNodeExclusion ` | ` true ` | GA | 1.21 | - |
367
+ | ` ServiceTopology ` | ` false ` | Alpha | 1.17 | 1.19 |
368
+ | ` ServiceTopology ` | ` false ` | Deprecated | 1.20 | - |
349
369
| ` SetHostnameAsFQDN ` | ` false ` | Alpha | 1.19 | 1.19 |
350
370
| ` SetHostnameAsFQDN ` | ` true ` | Beta | 1.20 | 1.21 |
351
371
| ` SetHostnameAsFQDN ` | ` true ` | GA | 1.22 | - |
@@ -592,12 +612,17 @@ Each feature gate is designed for enabling/disabling a specific feature:
592
612
[ CustomResourceDefinition] ( /docs/concepts/extend-kubernetes/api-extension/custom-resources/ ) .
593
613
- ` CustomResourceWebhookConversion ` : Enable webhook-based conversion
594
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.
595
617
- ` DefaultPodTopologySpread ` : Enables the use of ` PodTopologySpread ` scheduling plugin to do
596
618
[ default spreading] ( /docs/concepts/workloads/pods/pod-topology-spread-constraints/#internal-default-constraints ) .
597
619
- ` DevicePlugins ` : Enable the [ device-plugins] ( /docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/ )
598
620
based resource provisioning on nodes.
599
621
- ` DisableAcceleratorUsageMetrics ` :
600
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.
601
626
- ` DownwardAPIHugePages ` : Enables usage of hugepages in
602
627
[ downward API] ( /docs/tasks/inject-data-application/downward-api-volume-expose-pod-information ) .
603
628
- ` DryRun ` : Enable server-side [ dry run] ( /docs/reference/using-api/api-concepts/#dry-run ) requests
@@ -744,6 +769,9 @@ Each feature gate is designed for enabling/disabling a specific feature:
744
769
- ` PodShareProcessNamespace ` : Enable the setting of ` shareProcessNamespace ` in a Pod for sharing
745
770
a single process namespace between containers running in a pod. More details can be found in
746
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.
747
775
- ` ProbeTerminationGracePeriod ` : Enable [ setting probe-level
748
776
` terminationGracePeriodSeconds ` ] ( /docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationgraceperiodseconds )
749
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.
@@ -783,6 +811,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
783
811
instead of the DaemonSet controller.
784
812
- ` SCTPSupport ` : Enables the _ SCTP_ ` protocol ` value in Pod, Service,
785
813
Endpoints, EndpointSlice, and NetworkPolicy definitions.
814
+ - ` SeccompDefault ` : If true, automatically set the ` seccompProfile ` of Pods
815
+ and Containers to "Default".
786
816
- ` ServerSideApply ` : Enables the [ Sever Side Apply (SSA)] ( /docs/reference/using-api/server-side-apply/ )
787
817
feature on the API Server.
788
818
- ` ServiceAccountIssuerDiscovery ` : Enable OIDC discovery endpoints (issuer and
@@ -810,6 +840,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
810
840
- ` StartupProbe ` : Enable the
811
841
[ startup] ( /docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe )
812
842
probe in the kubelet.
843
+ - ` StatefulSetMinReadySeconds ` : Allows ` minReadySeconds ` to be respected by
844
+ the StatefulSet controller.
813
845
- ` StorageObjectInUseProtection ` : Postpone the deletion of PersistentVolume or
814
846
PersistentVolumeClaim objects if they are still being used.
815
847
- ` StorageVersionAPI ` : Enable the
@@ -879,6 +911,8 @@ Each feature gate is designed for enabling/disabling a specific feature:
879
911
will use EndpointSlices as the primary data source instead of Endpoints,
880
912
enabling scalability and performance improvements. See
881
913
[ Enabling Endpoint Slices] ( /docs/tasks/administer-cluster/enabling-endpointslices/ ) .
914
+ - ` WindowsHostProcessContainers ` : Enables the support for ` HostProcess `
915
+ containers on Windows nodes.
882
916
883
917
884
918
## {{% heading "whatsnext" %}}
0 commit comments