Skip to content

Commit ed66310

Browse files
tengqmTim Bannister
andcommitted
Fix feature gates for v1.28
Co-authored-by: Tim Bannister <[email protected]>
1 parent 2cc2460 commit ed66310

File tree

2 files changed

+152
-104
lines changed

2 files changed

+152
-104
lines changed

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

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ In the following table:
8181
| `CSIMigrationAzureDiskComplete` | - | Deprecated | 1.21 | 1.21 |
8282
| `CSIMigrationAzureFileComplete` | `false` | Alpha | 1.17 | 1.20 |
8383
| `CSIMigrationAzureFileComplete` | - | Deprecated | 1.21 | 1.21 |
84+
| `CSIMigrationGCE` | `false` | Alpha | 1.14 | 1.16 |
85+
| `CSIMigrationGCE` | `false` | Beta | 1.17 | 1.22 |
86+
| `CSIMigrationGCE` | `true` | Beta | 1.23 | 1.24 |
87+
| `CSIMigrationGCE` | `true` | GA | 1.25 | 1.27 |
8488
| `CSIMigrationGCEComplete` | `false` | Alpha | 1.17 | 1.20 |
8589
| `CSIMigrationGCEComplete` | - | Deprecated | 1.21 | 1.21 |
8690
| `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 |
@@ -99,6 +103,9 @@ In the following table:
99103
| `CSIServiceAccountToken` | `false` | Alpha | 1.20 | 1.20 |
100104
| `CSIServiceAccountToken` | `true` | Beta | 1.21 | 1.21 |
101105
| `CSIServiceAccountToken` | `true` | GA | 1.22 | 1.24 |
106+
| `CSIStorageCapacity` | `false` | Alpha | 1.19 | 1.20 |
107+
| `CSIStorageCapacity` | `true` | Beta | 1.21 | 1.23 |
108+
| `CSIStorageCapacity` | `true` | GA | 1.24 | 1.27 |
102109
| `CSIVolumeFSGroupPolicy` | `false` | Alpha | 1.19 | 1.19 |
103110
| `CSIVolumeFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 |
104111
| `CSIVolumeFSGroupPolicy` | `true` | GA | 1.23 | 1.25 |
@@ -143,6 +150,12 @@ In the following table:
143150
| `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 |
144151
| `DevicePlugins` | `true` | Beta | 1.10 | 1.25 |
145152
| `DevicePlugins` | `true` | GA | 1.26 | 1.27 |
153+
| `DisableAcceleratorUsageMetrics` | `false` | Alpha | 1.19 | 1.19 |
154+
| `DisableAcceleratorUsageMetrics` | `true` | Beta | 1.20 | 1.24 |
155+
| `DisableAcceleratorUsageMetrics` | `true` | GA | 1.25 | 1.27 |
156+
| `DryRun` | `false` | Alpha | 1.12 | 1.12 |
157+
| `DryRun` | `true` | Beta | 1.13 | 1.18 |
158+
| `DryRun` | `true` | GA | 1.19 | 1.27 |
146159
| `DynamicAuditing` | `false` | Alpha | 1.13 | 1.18 |
147160
| `DynamicAuditing` | - | Deprecated | 1.19 | 1.19 |
148161
| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 |
@@ -164,6 +177,9 @@ In the following table:
164177
| `EndpointSliceProxying` | `false` | Alpha | 1.18 | 1.18 |
165178
| `EndpointSliceProxying` | `true` | Beta | 1.19 | 1.21 |
166179
| `EndpointSliceProxying` | `true` | GA | 1.22 | 1.24 |
180+
| `EndpointSliceTerminatingCondition` | `false` | Alpha | 1.20 | 1.21 |
181+
| `EndpointSliceTerminatingCondition` | `true` | Beta | 1.22 | 1.25 |
182+
| `EndpointSliceTerminatingCondition` | `true` | GA | 1.26 | 1.27 |
167183
| `EphemeralContainers` | `false` | Alpha | 1.16 | 1.22 |
168184
| `EphemeralContainers` | `true` | Beta | 1.23 | 1.24 |
169185
| `EphemeralContainers` | `true` | GA | 1.25 | 1.26 |
@@ -212,8 +228,12 @@ In the following table:
212228
| `IngressClassNamespacedParams` | `true` | GA | 1.23 | 1.24 |
213229
| `Initializers` | `false` | Alpha | 1.7 | 1.13 |
214230
| `Initializers` | - | Deprecated | 1.14 | 1.14 |
231+
| `KMSv1` | `true` | Deprecated | 1.28 | |
215232
| `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 |
216233
| `KubeletConfigFile` | - | Deprecated | 1.10 | 1.10 |
234+
| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | 1.23 |
235+
| `KubeletCredentialProviders` | `true` | Beta | 1.24 | 1.25 |
236+
| `KubeletCredentialProviders` | `true` | GA | 1.26 | 1.28 |
217237
| `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | 1.11 |
218238
| `KubeletPluginsWatcher` | `true` | Beta | 1.12 | 1.12 |
219239
| `KubeletPluginsWatcher` | `true` | GA | 1.13 | 1.16 |
@@ -223,6 +243,9 @@ In the following table:
223243
| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 |
224244
| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | 1.24 |
225245
| `LocalStorageCapacityIsolation` | `true` | GA | 1.25 | 1.26 |
246+
| `MixedProtocolLBService` | `false` | Alpha | 1.20 | 1.23 |
247+
| `MixedProtocolLBService` | `true` | Beta | 1.24 | 1.25 |
248+
| `MixedProtocolLBService` | `true` | GA | 1.26 | 1.27 |
226249
| `MountContainers` | `false` | Alpha | 1.9 | 1.16 |
227250
| `MountContainers` | `false` | Deprecated | 1.17 | 1.17 |
228251
| `MountPropagation` | `false` | Alpha | 1.8 | 1.9 |
@@ -233,6 +256,7 @@ In the following table:
233256
| `NetworkPolicyEndPort` | `false` | Alpha | 1.21 | 1.21 |
234257
| `NetworkPolicyEndPort` | `true` | Beta | 1.22 | 1.24 |
235258
| `NetworkPolicyEndPort` | `true` | GA | 1.25 | 1.26 |
259+
| `NetworkPolicyStatus` | `false` | Alpha | 1.24 | 1.27 |
236260
| `NodeDisruptionExclusion` | `false` | Alpha | 1.16 | 1.18 |
237261
| `NodeDisruptionExclusion` | `true` | Beta | 1.19 | 1.20 |
238262
| `NodeDisruptionExclusion` | `true` | GA | 1.21 | 1.22 |
@@ -263,6 +287,9 @@ In the following table:
263287
| `PodReadinessGates` | `false` | Alpha | 1.11 | 1.11 |
264288
| `PodReadinessGates` | `true` | Beta | 1.12 | 1.13 |
265289
| `PodReadinessGates` | `true` | GA | 1.14 | 1.16 |
290+
| `PodSecurity` | `false` | Alpha | 1.22 | 1.22 |
291+
| `PodSecurity` | `true` | Beta | 1.23 | 1.24 |
292+
| `PodSecurity` | `true` | GA | 1.25 | 1.27 |
266293
| `PodShareProcessNamespace` | `false` | Alpha | 1.10 | 1.11 |
267294
| `PodShareProcessNamespace` | `true` | Beta | 1.12 | 1.16 |
268295
| `PodShareProcessNamespace` | `true` | GA | 1.17 | 1.19 |
@@ -301,6 +328,12 @@ In the following table:
301328
| `ServiceAppProtocol` | `false` | Alpha | 1.18 | 1.18 |
302329
| `ServiceAppProtocol` | `true` | Beta | 1.19 | 1.19 |
303330
| `ServiceAppProtocol` | `true` | GA | 1.20 | 1.22 |
331+
| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 |
332+
| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | 1.25 |
333+
| `ServiceIPStaticSubrange` | `true` | GA | 1.26 | 1.27 |
334+
| `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 |
335+
| `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | 1.25 |
336+
| `ServiceInternalTrafficPolicy` | `true` | GA | 1.26 | 1.27 |
304337
| `ServiceLBNodePortControl` | `false` | Alpha | 1.20 | 1.21 |
305338
| `ServiceLBNodePortControl` | `true` | Beta | 1.22 | 1.23 |
306339
| `ServiceLBNodePortControl` | `true` | GA | 1.24 | 1.25 |
@@ -360,6 +393,7 @@ In the following table:
360393
| `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 |
361394
| `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 |
362395
| `TokenRequestProjection` | `true` | GA | 1.20 | 1.21 |
396+
| `UserNamespacesStatelessPodsSupport` | `false` | Alpha | 1.25 | 1.27 |
363397
| `ValidateProxyRedirects` | `false` | Alpha | 1.12 | 1.13 |
364398
| `ValidateProxyRedirects` | `true` | Beta | 1.14 | 1.21 |
365399
| `ValidateProxyRedirects` | `true` | Deprecated | 1.22 | 1.24 |
@@ -384,6 +418,9 @@ In the following table:
384418
| `WindowsGMSA` | `false` | Alpha | 1.14 | 1.15 |
385419
| `WindowsGMSA` | `true` | Beta | 1.16 | 1.17 |
386420
| `WindowsGMSA` | `true` | GA | 1.18 | 1.20 |
421+
| `WindowsHostProcessContainers` | `false` | Alpha | 1.22 | 1.22 |
422+
| `WindowsHostProcessContainers` | `true` | Beta | 1.23 | 1.25 |
423+
| `WindowsHostProcessContainers` | `true` | GA | 1.26 | 1.27 |
387424
| `WindowsRunAsUserName` | `false` | Alpha | 1.16 | 1.16 |
388425
| `WindowsRunAsUserName` | `true` | Beta | 1.17 | 1.17 |
389426
| `WindowsRunAsUserName` | `true` | GA | 1.18 | 1.20 |
@@ -487,6 +524,14 @@ In the following table:
487524
`InTreePluginAzureFileUnregister` feature flag which prevents the registration
488525
of in-tree AzureFile plugin.
489526

527+
- `CSIMigrationGCE`: Enables shims and translation logic to route volume
528+
operations from the GCE-PD in-tree plugin to PD CSI plugin. Supports falling
529+
back to in-tree GCE plugin for mount operations to nodes that have the
530+
feature disabled or that do not have PD CSI plugin installed and configured.
531+
Does not support falling back for provision operations, for those the CSI
532+
plugin must be installed and configured. Requires CSIMigration feature flag
533+
enabled.
534+
490535
- `CSIMigrationGCEComplete`: Stops registering the GCE-PD in-tree plugin in
491536
kubelet and volume controllers and enables shims and translation logic to
492537
route volume operations from the GCE-PD in-tree plugin to PD CSI plugin.
@@ -529,6 +574,11 @@ In the following table:
529574
that they mount volumes for. See
530575
[Token Requests](https://kubernetes-csi.github.io/docs/token-requests.html).
531576

577+
- `CSIStorageCapacity`: Enables CSI drivers to publish storage capacity information
578+
and the Kubernetes scheduler to use that information when scheduling pods. See
579+
[Storage Capacity](/docs/concepts/storage/storage-capacity/).
580+
Check the [`csi` volume type](/docs/concepts/storage/volumes/#csi) documentation for more details.
581+
532582
- `CSIVolumeFSGroupPolicy`: Allows CSIDrivers to use the `fsGroupPolicy` field.
533583
This field controls whether volumes created by a CSIDriver support volume ownership
534584
and permission modifications when these volumes are mounted.
@@ -583,6 +633,12 @@ In the following table:
583633
- `DevicePlugins`: Enable the [device-plugins](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/)
584634
based resource provisioning on nodes.
585635

636+
- `DisableAcceleratorUsageMetrics`:
637+
[Disable accelerator metrics collected by the kubelet](/docs/concepts/cluster-administration/system-metrics/#disable-accelerator-metrics).
638+
639+
- `DryRun`: Enable server-side [dry run](/docs/reference/using-api/api-concepts/#dry-run) requests
640+
so that validation, merging, and mutation can be tested without committing.
641+
586642
- `DynamicAuditing`: Used to enable dynamic auditing before v1.19.
587643

588644
- `DynamicKubeletConfig`: Enable the dynamic configuration of kubelet. The
@@ -612,6 +668,9 @@ In the following table:
612668
Endpoints, enabling scalability and performance improvements. See
613669
[Enabling Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/).
614670

671+
- `EndpointSliceTerminatingCondition`: Enables EndpointSlice `terminating` and `serving`
672+
condition fields.
673+
615674
- `EphemeralContainers`: Enable the ability to add
616675
{{< glossary_tooltip text="ephemeral containers" term_id="ephemeral-container" >}}
617676
to running Pods.
@@ -677,6 +736,9 @@ In the following table:
677736
See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/)
678737
for more details.
679738

739+
- `KubeletCredentialProviders`: Enable kubelet exec credential providers for
740+
image pull credentials.
741+
680742
- `KubeletPluginsWatcher`: Enable probe-based plugin watcher utility to enable kubelet
681743
to discover plugins such as [CSI volume drivers](/docs/concepts/storage/volumes/#csi).
682744

@@ -689,6 +751,9 @@ In the following table:
689751
and also the `sizeLimit` property of an
690752
[emptyDir volume](/docs/concepts/storage/volumes/#emptydir).
691753

754+
- `MixedProtocolLBService`: Enable using different protocols in the same `LoadBalancer` type
755+
Service instance.
756+
692757
- `MountContainers`: Enable using utility containers on host as the volume mounter.
693758

694759
- `MountPropagation`: Enable sharing volume mounted by one container to other containers or pods.
@@ -698,6 +763,8 @@ In the following table:
698763
{{< glossary_tooltip text="label" term_id="label" >}} `kubernetes.io/metadata.name`
699764
on all namespaces, containing the namespace name.
700765

766+
- `NetworkPolicyStatus`: Enable the `status` subresource for NetworkPolicy objects.
767+
701768
- `NodeDisruptionExclusion`: Enable use of the Node label `node.kubernetes.io/exclude-disruption`
702769
which prevents nodes from being evacuated during zone failures.
703770

@@ -718,8 +785,9 @@ In the following table:
718785

719786
- `PodDisruptionBudget`: Enable the [PodDisruptionBudget](/docs/tasks/run-application/configure-pdb/) feature.
720787

721-
- `PodHasNetwork`: Enable the kubelet to mark the [PodHasNetwork](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network)
788+
- `PodHasNetworkCondition`: Enable the kubelet to mark the [PodHasNetwork](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network)
722789
condition on pods. This was renamed to `PodReadyToStartContainersCondition` in 1.28.
790+
723791
- `PodOverhead`: Enable the [PodOverhead](/docs/concepts/scheduling-eviction/pod-overhead/)
724792
feature to account for pod overheads.
725793

@@ -730,6 +798,8 @@ In the following table:
730798
Pod readiness evaluation. See [Pod readiness gate](/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate)
731799
for more details.
732800

801+
- `PodSecurity`: Enables the `PodSecurity` admission plugin.
802+
733803
- `PodShareProcessNamespace`: Enable the setting of `shareProcessNamespace` in a Pod for sharing
734804
a single process namespace between containers running in a pod. More details can be found in
735805
[Share Process Namespace between Containers in a Pod](/docs/tasks/configure-pod-container/share-process-namespace/).
@@ -780,6 +850,15 @@ In the following table:
780850

781851
- `ServiceAppProtocol`: Enables the `appProtocol` field on Services and Endpoints.
782852

853+
- `ServiceIPStaticSubrange`: Enables a strategy for Services ClusterIP allocations, whereby the
854+
ClusterIP range is subdivided. Dynamic allocated ClusterIP addresses will be allocated preferently
855+
from the upper range allowing users to assign static ClusterIPs from the lower range with a low
856+
risk of collision. See
857+
[Avoiding collisions](/docs/reference/networking/virtual-ips/#avoiding-collisions)
858+
for more details.
859+
860+
- `ServiceInternalTrafficPolicy`: Enables the `internalTrafficPolicy` field on Services.
861+
783862
- `ServiceLoadBalancerClass`: Enables the `loadBalancerClass` field on Services. See
784863
[Specifying class of load balancer implementation](/docs/concepts/services-networking/service/#load-balancer-class)
785864
for more details.
@@ -841,6 +920,8 @@ In the following table:
841920
- `TokenRequestProjection`: Enable the injection of service account tokens into a Pod through a
842921
[`projected` volume](/docs/concepts/storage/volumes/#projected).
843922

923+
- `UserNamespacesStatelessPodsSupport`: Enable user namespace support for stateless Pods. This flag was renamed on newer releases to `UserNamespacesSupport`.
924+
844925
- `ValidateProxyRedirects`: This flag controls whether the API server should validate that redirects
845926
are only followed to the same host. Only used if the `StreamingProxyRedirects` flag is enabled.
846927

@@ -867,6 +948,8 @@ In the following table:
867948

868949
- `WindowsGMSA`: Enables passing of GMSA credential specs from pods to container runtimes.
869950

951+
- `WindowsHostProcessContainers`: Enables support for Windows HostProcess containers.
952+
870953
- `WindowsRunAsUserName` : Enable support for running applications in Windows containers with as a
871954
non-default user. See [Configuring RunAsUserName](/docs/tasks/configure-pod-container/configure-runasusername)
872955
for more details.

0 commit comments

Comments
 (0)