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 deleted file mode 100644 index 6d3c129d28..0000000000 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md +++ /dev/null @@ -1,996 +0,0 @@ ---- -title: Feature Gates (removed) -weight: 15 -content_type: concept ---- - - - -This page contains list of feature gates that have been removed. The information on this page is for reference. -A removed feature gate is different from a GA'ed or deprecated one in that a removed one is -no longer recognized as a valid feature gate. -However, a GA'ed or a deprecated feature gate is still recognized by the corresponding Kubernetes -components although they are unable to cause any behavior differences in a cluster. - -For feature gates that are still recognized by the Kubernetes components, please refer to -the [Alpha/Beta feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features) -or the [Graduated/Deprecated feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-graduated-or-deprecated-features) - -### Feature gates that are removed - -In the following table: - -- The "From" column contains the Kubernetes release when a feature is introduced - or its release stage is changed. -- The "To" column, if not empty, contains the last Kubernetes release in which - you can still use a feature gate. If the feature stage is either "Deprecated" - or "GA", the "To" column is the Kubernetes release when the feature is removed. - -{{< table caption="Feature Gates Removed" >}} - -| Feature | Default | Stage | From | To | -|---------|---------|-------|-------|-------| -| `Accelerators` | `false` | Alpha | 1.6 | 1.10 | -| `Accelerators` | - | Deprecated | 1.11 | 1.11 | -| `AdvancedAuditing` | `false` | Alpha | 1.7 | 1.7 | -| `AdvancedAuditing` | `true` | Beta | 1.8 | 1.11 | -| `AdvancedAuditing` | `true` | GA | 1.12 | 1.27 | -| `AffinityInAnnotations` | `false` | Alpha | 1.6 | 1.7 | -| `AffinityInAnnotations` | - | Deprecated | 1.8 | 1.8 | -| `AllowExtTrafficLocalEndpoints` | `false` | Beta | 1.4 | 1.6 | -| `AllowExtTrafficLocalEndpoints` | `true` | GA | 1.7 | 1.9 | -| `AllowInsecureBackendProxy` | `true` | Beta | 1.17 | 1.20 | -| `AllowInsecureBackendProxy` | `true` | GA | 1.21 | 1.25 | -| `AttachVolumeLimit` | `false` | Alpha | 1.11 | 1.11 | -| `AttachVolumeLimit` | `true` | Beta | 1.12 | 1.16 | -| `AttachVolumeLimit` | `true` | GA | 1.17 | 1.21 | -| `BalanceAttachedNodeVolumes` | `false` | Alpha | 1.11 | 1.21 | -| `BalanceAttachedNodeVolumes` | `false` | Deprecated | 1.22 | 1.22 | -| `BlockVolume` | `false` | Alpha | 1.9 | 1.12 | -| `BlockVolume` | `true` | Beta | 1.13 | 1.17 | -| `BlockVolume` | `true` | GA | 1.18 | 1.21 | -| `BoundServiceAccountTokenVolume` | `false` | Alpha | 1.13 | 1.20 | -| `BoundServiceAccountTokenVolume` | `true` | Beta | 1.21 | 1.21 | -| `BoundServiceAccountTokenVolume` | `true` | GA | 1.22 | 1.23 | -| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | 1.10 | -| `CRIContainerLogRotation` | `true` | Beta | 1.11 | 1.20 | -| `CRIContainerLogRotation` | `true` | GA | 1.21 | 1.22 | -| `CSIBlockVolume` | `false` | Alpha | 1.11 | 1.13 | -| `CSIBlockVolume` | `true` | Beta | 1.14 | 1.17 | -| `CSIBlockVolume` | `true` | GA | 1.18 | 1.21 | -| `CSIDriverRegistry` | `false` | Alpha | 1.12 | 1.13 | -| `CSIDriverRegistry` | `true` | Beta | 1.14 | 1.17 | -| `CSIDriverRegistry` | `true` | GA | 1.18 | 1.21 | -| `CSIInlineVolume` | `false` | Alpha | 1.15 | 1.15 | -| `CSIInlineVolume` | `true` | Beta | 1.16 | 1.24 | -| `CSIInlineVolume` | `true` | GA | 1.25 | 1.26 | -| `CSIMigration` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigration` | `true` | Beta | 1.17 | 1.24 | -| `CSIMigration` | `true` | GA | 1.25 | 1.26 | -| `CSIMigrationAWS` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigrationAWS` | `false` | Beta | 1.17 | 1.22 | -| `CSIMigrationAWS` | `true` | Beta | 1.23 | 1.24 | -| `CSIMigrationAWS` | `true` | GA | 1.25 | 1.26 | -| `CSIMigrationAWSComplete` | `false` | Alpha | 1.17 | 1.20 | -| `CSIMigrationAWSComplete` | - | Deprecated | 1.21 | 1.21 | -| `CSIMigrationAzureDisk` | `false` | Alpha | 1.15 | 1.18 | -| `CSIMigrationAzureDisk` | `false` | Beta | 1.19 | 1.22 | -| `CSIMigrationAzureDisk` | `true` | Beta | 1.23 | 1.23 | -| `CSIMigrationAzureDisk` | `true` | GA | 1.24 | 1.26 | -| `CSIMigrationAzureDiskComplete` | `false` | Alpha | 1.17 | 1.20 | -| `CSIMigrationAzureDiskComplete` | - | Deprecated | 1.21 | 1.21 | -| `CSIMigrationAzureFileComplete` | `false` | Alpha | 1.17 | 1.20 | -| `CSIMigrationAzureFileComplete` | - | Deprecated | 1.21 | 1.21 | -| `CSIMigrationGCE` | `false` | Alpha | 1.14 | 1.16 | -| `CSIMigrationGCE` | `false` | Beta | 1.17 | 1.22 | -| `CSIMigrationGCE` | `true` | Beta | 1.23 | 1.24 | -| `CSIMigrationGCE` | `true` | GA | 1.25 | 1.27 | -| `CSIMigrationGCEComplete` | `false` | Alpha | 1.17 | 1.20 | -| `CSIMigrationGCEComplete` | - | Deprecated | 1.21 | 1.21 | -| `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 | -| `CSIMigrationOpenStack` | `true` | Beta | 1.18 | 1.23 | -| `CSIMigrationOpenStack` | `true` | GA | 1.24 | 1.25 | -| `CSIMigrationOpenStackComplete` | `false` | Alpha | 1.17 | 1.20 | -| `CSIMigrationOpenStackComplete` | - | Deprecated | 1.21 | 1.21 | -| `CSIMigrationvSphereComplete` | `false` | Beta | 1.19 | 1.21 | -| `CSIMigrationvSphereComplete` | - | Deprecated | 1.22 | 1.22 | -| `CSINodeInfo` | `false` | Alpha | 1.12 | 1.13 | -| `CSINodeInfo` | `true` | Beta | 1.14 | 1.16 | -| `CSINodeInfo` | `true` | GA | 1.17 | 1.22 | -| `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | -| `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 | -| `CSIPersistentVolume` | `true` | GA | 1.13 | 1.16 | -| `CSIServiceAccountToken` | `false` | Alpha | 1.20 | 1.20 | -| `CSIServiceAccountToken` | `true` | Beta | 1.21 | 1.21 | -| `CSIServiceAccountToken` | `true` | GA | 1.22 | 1.24 | -| `CSIStorageCapacity` | `false` | Alpha | 1.19 | 1.20 | -| `CSIStorageCapacity` | `true` | Beta | 1.21 | 1.23 | -| `CSIStorageCapacity` | `true` | GA | 1.24 | 1.27 | -| `CSIVolumeFSGroupPolicy` | `false` | Alpha | 1.19 | 1.19 | -| `CSIVolumeFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 | -| `CSIVolumeFSGroupPolicy` | `true` | GA | 1.23 | 1.25 | -| `CSRDuration` | `true` | Beta | 1.22 | 1.23 | -| `CSRDuration` | `true` | GA | 1.24 | 1.25 | -| `ConfigurableFSGroupPolicy` | `false` | Alpha | 1.18 | 1.19 | -| `ConfigurableFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 | -| `ConfigurableFSGroupPolicy` | `true` | GA | 1.23 | 1.25 | -| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | 1.21 | -| `ControllerManagerLeaderMigration` | `true` | Beta | 1.22 | 1.23 | -| `ControllerManagerLeaderMigration` | `true` | GA | 1.24 | 1.26 | -| `CronJobControllerV2` | `false` | Alpha | 1.20 | 1.20 | -| `CronJobControllerV2` | `true` | Beta | 1.21 | 1.21 | -| `CronJobControllerV2` | `true` | GA | 1.22 | 1.23 | -| `CronJobTimeZone` | `false` | Alpha | 1.24 | 1.24 | -| `CronJobTimeZone` | `true` | Beta | 1.25 | 1.26 | -| `CronJobTimeZone` | `true` | GA | 1.27 | 1.28 | -| `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | -| `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | -| `CustomPodDNS` | `true` | GA | 1.14 | 1.16 | -| `CustomResourceDefaulting` | `false` | Alpha| 1.15 | 1.15 | -| `CustomResourceDefaulting` | `true` | Beta | 1.16 | 1.16 | -| `CustomResourceDefaulting` | `true` | GA | 1.17 | 1.18 | -| `CustomResourcePublishOpenAPI` | `false` | Alpha| 1.14 | 1.14 | -| `CustomResourcePublishOpenAPI` | `true` | Beta| 1.15 | 1.15 | -| `CustomResourcePublishOpenAPI` | `true` | GA | 1.16 | 1.18 | -| `CustomResourceSubresources` | `false` | Alpha | 1.10 | 1.10 | -| `CustomResourceSubresources` | `true` | Beta | 1.11 | 1.15 | -| `CustomResourceSubresources` | `true` | GA | 1.16 | 1.18 | -| `CustomResourceValidation` | `false` | Alpha | 1.8 | 1.8 | -| `CustomResourceValidation` | `true` | Beta | 1.9 | 1.15 | -| `CustomResourceValidation` | `true` | GA | 1.16 | 1.18 | -| `CustomResourceWebhookConversion` | `false` | Alpha | 1.13 | 1.14 | -| `CustomResourceWebhookConversion` | `true` | Beta | 1.15 | 1.15 | -| `CustomResourceWebhookConversion` | `true` | GA | 1.16 | 1.18 | -| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | -| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | -| `DaemonSetUpdateSurge` | `true` | GA | 1.25 | 1.26 | -| `DefaultPodTopologySpread` | `false` | Alpha | 1.19 | 1.19 | -| `DefaultPodTopologySpread` | `true` | Beta | 1.20 | 1.23 | -| `DefaultPodTopologySpread` | `true` | GA | 1.24 | 1.25 | -| `DelegateFSGroupToCSIDriver` | `false` | Alpha | 1.22 | 1.22 | -| `DelegateFSGroupToCSIDriver` | `true` | Beta | 1.23 | 1.25 | -| `DelegateFSGroupToCSIDriver` | `true` | GA | 1.26 | 1.27 | -| `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 | -| `DevicePlugins` | `true` | Beta | 1.10 | 1.25 | -| `DevicePlugins` | `true` | GA | 1.26 | 1.27 | -| `DisableAcceleratorUsageMetrics` | `false` | Alpha | 1.19 | 1.19 | -| `DisableAcceleratorUsageMetrics` | `true` | Beta | 1.20 | 1.24 | -| `DisableAcceleratorUsageMetrics` | `true` | GA | 1.25 | 1.27 | -| `DownwardAPIHugePages` | `false` | Alpha | 1.20 | 1.20 | -| `DownwardAPIHugePages` | `false` | Beta | 1.21 | 1.21 | -| `DownwardAPIHugePages` | `true` | Beta | 1.22 | 1.26 | -| `DownwardAPIHugePages` | `true` | GA | 1.27 | 1.28 | -| `DryRun` | `false` | Alpha | 1.12 | 1.12 | -| `DryRun` | `true` | Beta | 1.13 | 1.18 | -| `DryRun` | `true` | GA | 1.19 | 1.27 | -| `DynamicAuditing` | `false` | Alpha | 1.13 | 1.18 | -| `DynamicAuditing` | - | Deprecated | 1.19 | 1.19 | -| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 | -| `DynamicKubeletConfig` | `true` | Beta | 1.11 | 1.21 | -| `DynamicKubeletConfig` | `false` | Deprecated | 1.22 | 1.25 | -| `DynamicProvisioningScheduling` | `false` | Alpha | 1.11 | 1.11 | -| `DynamicProvisioningScheduling` | - | Deprecated| 1.12 | - | -| `DynamicVolumeProvisioning` | `true` | Alpha | 1.3 | 1.7 | -| `DynamicVolumeProvisioning` | `true` | GA | 1.8 | 1.12 | -| `EnableAggregatedDiscoveryTimeout` | `true` | Deprecated | 1.16 | 1.17 | -| `EnableEquivalenceClassCache` | `false` | Alpha | 1.8 | 1.12 | -| `EnableEquivalenceClassCache` | - | Deprecated | 1.13 | 1.23 | -| `EndpointSlice` | `false` | Alpha | 1.16 | 1.16 | -| `EndpointSlice` | `false` | Beta | 1.17 | 1.17 | -| `EndpointSlice` | `true` | Beta | 1.18 | 1.20 | -| `EndpointSlice` | `true` | GA | 1.21 | 1.24 | -| `EndpointSliceNodeName` | `false` | Alpha | 1.20 | 1.20 | -| `EndpointSliceNodeName` | `true` | GA | 1.21 | 1.24 | -| `EndpointSliceProxying` | `false` | Alpha | 1.18 | 1.18 | -| `EndpointSliceProxying` | `true` | Beta | 1.19 | 1.21 | -| `EndpointSliceProxying` | `true` | GA | 1.22 | 1.24 | -| `EndpointSliceTerminatingCondition` | `false` | Alpha | 1.20 | 1.21 | -| `EndpointSliceTerminatingCondition` | `true` | Beta | 1.22 | 1.25 | -| `EndpointSliceTerminatingCondition` | `true` | GA | 1.26 | 1.27 | -| `EphemeralContainers` | `false` | Alpha | 1.16 | 1.22 | -| `EphemeralContainers` | `true` | Beta | 1.23 | 1.24 | -| `EphemeralContainers` | `true` | GA | 1.25 | 1.26 | -| `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.26 | -| `ExpandInUsePersistentVolumes` | `false` | Alpha | 1.11 | 1.14 | -| `ExpandInUsePersistentVolumes` | `true` | Beta | 1.15 | 1.23 | -| `ExpandInUsePersistentVolumes` | `true` | GA | 1.24 | 1.26 | -| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.10 | -| `ExpandPersistentVolumes` | `true` | Beta | 1.11 | 1.23 | -| `ExpandPersistentVolumes` | `true` | GA | 1.24 | 1.26 | -| `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | 1.12 | -| `ExperimentalCriticalPodAnnotation` | `false` | Deprecated | 1.13 | 1.16 | -| `ExternalPolicyForExternalIP` | `true` | GA | 1.18 | 1.22 | -| `GCERegionalPersistentDisk` | `true` | Beta | 1.10 | 1.12 | -| `GCERegionalPersistentDisk` | `true` | GA | 1.13 | 1.16 | -| `GRPCContainerProbe` | `false` | Alpha | 1.23 | 1.23 | -| `GRPCContainerProbe` | `true` | Beta | 1.24 | 1.26 | -| `GRPCContainerProbe` | `true` | GA | 1.27 | 1.28 | -| `GenericEphemeralVolume` | `false` | Alpha | 1.19 | 1.20 | -| `GenericEphemeralVolume` | `true` | Beta | 1.21 | 1.22 | -| `GenericEphemeralVolume` | `true` | GA | 1.23 | 1.24 | -| `HugePageStorageMediumSize` | `false` | Alpha | 1.18 | 1.18 | -| `HugePageStorageMediumSize` | `true` | Beta | 1.19 | 1.21 | -| `HugePageStorageMediumSize` | `true` | GA | 1.22 | 1.24 | -| `HugePages` | `false` | Alpha | 1.8 | 1.9 | -| `HugePages` | `true` | Beta| 1.10 | 1.13 | -| `HugePages` | `true` | GA | 1.14 | 1.16 | -| `HyperVContainer` | `false` | Alpha | 1.10 | 1.19 | -| `HyperVContainer` | `false` | Deprecated | 1.20 | 1.20 | -| `IPv6DualStack` | `false` | Alpha | 1.15 | 1.20 | -| `IPv6DualStack` | `true` | Beta | 1.21 | 1.22 | -| `IPv6DualStack` | `true` | GA | 1.23 | 1.24 | -| `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | -| `IdentifyPodOS` | `true` | Beta | 1.24 | 1.24 | -| `IdentifyPodOS` | `true` | GA | 1.25 | 1.26 | -| `ImmutableEphemeralVolumes` | `false` | Alpha | 1.18 | 1.18 | -| `ImmutableEphemeralVolumes` | `true` | Beta | 1.19 | 1.20 | -| `ImmutableEphemeralVolumes` | `true` | GA | 1.21 | 1.24 | -| `IndexedJob` | `false` | Alpha | 1.21 | 1.21 | -| `IndexedJob` | `true` | Beta | 1.22 | 1.23 | -| `IndexedJob` | `true` | GA | 1.24 | 1.25 | -| `IngressClassNamespacedParams` | `false` | Alpha | 1.21 | 1.21 | -| `IngressClassNamespacedParams` | `true` | Beta | 1.22 | 1.22 | -| `IngressClassNamespacedParams` | `true` | GA | 1.23 | 1.24 | -| `Initializers` | `false` | Alpha | 1.7 | 1.13 | -| `Initializers` | - | Deprecated | 1.14 | 1.14 | -| `JobMutableNodeSchedulingDirectives` | `true` | Beta | 1.23 | 1.26 | -| `JobMutableNodeSchedulingDirectives` | `true` | GA | 1.27 | 1.28 | -| `KMSv1` | `true` | Deprecated | 1.28 | | -| `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 | -| `KubeletConfigFile` | - | Deprecated | 1.10 | 1.10 | -| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | 1.23 | -| `KubeletCredentialProviders` | `true` | Beta | 1.24 | 1.25 | -| `KubeletCredentialProviders` | `true` | GA | 1.26 | 1.28 | -| `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | 1.11 | -| `KubeletPluginsWatcher` | `true` | Beta | 1.12 | 1.12 | -| `KubeletPluginsWatcher` | `true` | GA | 1.13 | 1.16 | -| `LegacyNodeRoleBehavior` | `false` | Alpha | 1.16 | 1.18 | -| `LegacyNodeRoleBehavior` | `true` | Beta | 1.19 | 1.20 | -| `LegacyNodeRoleBehavior` | `false` | GA | 1.21 | 1.22 | -| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | Beta | 1.24 | 1.25 | -| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | GA | 1.26 | 1.28 | -| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 | -| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | 1.24 | -| `LocalStorageCapacityIsolation` | `true` | GA | 1.25 | 1.26 | -| `MixedProtocolLBService` | `false` | Alpha | 1.20 | 1.23 | -| `MixedProtocolLBService` | `true` | Beta | 1.24 | 1.25 | -| `MixedProtocolLBService` | `true` | GA | 1.26 | 1.27 | -| `MountContainers` | `false` | Alpha | 1.9 | 1.16 | -| `MountContainers` | `false` | Deprecated | 1.17 | 1.17 | -| `MountPropagation` | `false` | Alpha | 1.8 | 1.9 | -| `MountPropagation` | `true` | Beta | 1.10 | 1.11 | -| `MountPropagation` | `true` | GA | 1.12 | 1.14 | -| `NamespaceDefaultLabelName` | `true` | Beta | 1.21 | 1.21 | -| `NamespaceDefaultLabelName` | `true` | GA | 1.22 | 1.23 | -| `NetworkPolicyEndPort` | `false` | Alpha | 1.21 | 1.21 | -| `NetworkPolicyEndPort` | `true` | Beta | 1.22 | 1.24 | -| `NetworkPolicyEndPort` | `true` | GA | 1.25 | 1.26 | -| `NetworkPolicyStatus` | `false` | Alpha | 1.24 | 1.27 | -| `NodeDisruptionExclusion` | `false` | Alpha | 1.16 | 1.18 | -| `NodeDisruptionExclusion` | `true` | Beta | 1.19 | 1.20 | -| `NodeDisruptionExclusion` | `true` | GA | 1.21 | 1.22 | -| `NodeLease` | `false` | Alpha | 1.12 | 1.13 | -| `NodeLease` | `true` | Beta | 1.14 | 1.16 | -| `NodeLease` | `true` | GA | 1.17 | 1.23 | -| `NonPreemptingPriority` | `false` | Alpha | 1.15 | 1.18 | -| `NonPreemptingPriority` | `true` | Beta | 1.19 | 1.23 | -| `NonPreemptingPriority` | `true` | GA | 1.24 | 1.25 | -| `PVCProtection` | `false` | Alpha | 1.9 | 1.9 | -| `PVCProtection` | - | Deprecated | 1.10 | 1.10 | -| `PersistentLocalVolumes` | `false` | Alpha | 1.7 | 1.9 | -| `PersistentLocalVolumes` | `true` | Beta | 1.10 | 1.13 | -| `PersistentLocalVolumes` | `true` | GA | 1.14 | 1.16 | -| `PodAffinityNamespaceSelector` | `false` | Alpha | 1.21 | 1.21 | -| `PodAffinityNamespaceSelector` | `true` | Beta | 1.22 | 1.23 | -| `PodAffinityNamespaceSelector` | `true` | GA | 1.24 | 1.25 | -| `PodDisruptionBudget` | `false` | Alpha | 1.3 | 1.4 | -| `PodDisruptionBudget` | `true` | Beta | 1.5 | 1.20 | -| `PodDisruptionBudget` | `true` | GA | 1.21 | 1.25 | -| `PodHasNetworkCondition` | `false` | Alpha | 1.25 | 1.27 | -| `PodOverhead` | `false` | Alpha | 1.16 | 1.17 | -| `PodOverhead` | `true` | Beta | 1.18 | 1.23 | -| `PodOverhead` | `true` | GA | 1.24 | 1.25 | -| `PodPriority` | `false` | Alpha | 1.8 | 1.10 | -| `PodPriority` | `true` | Beta | 1.11 | 1.13 | -| `PodPriority` | `true` | GA | 1.14 | 1.18 | -| `PodReadinessGates` | `false` | Alpha | 1.11 | 1.11 | -| `PodReadinessGates` | `true` | Beta | 1.12 | 1.13 | -| `PodReadinessGates` | `true` | GA | 1.14 | 1.16 | -| `PodSecurity` | `false` | Alpha | 1.22 | 1.22 | -| `PodSecurity` | `true` | Beta | 1.23 | 1.24 | -| `PodSecurity` | `true` | GA | 1.25 | 1.27 | -| `PodShareProcessNamespace` | `false` | Alpha | 1.10 | 1.11 | -| `PodShareProcessNamespace` | `true` | Beta | 1.12 | 1.16 | -| `PodShareProcessNamespace` | `true` | GA | 1.17 | 1.19 | -| `PreferNominatedNode` | `false` | Alpha | 1.21 | 1.21 | -| `PreferNominatedNode` | `true` | Beta | 1.22 | 1.23 | -| `PreferNominatedNode` | `true` | GA | 1.24 | 1.25 | -| `RequestManagement` | `false` | Alpha | 1.15 | 1.16 | -| `RequestManagement` | - | Deprecated | 1.17 | 1.17 | -| `ResourceLimitsPriorityFunction` | `false` | Alpha | 1.9 | 1.18 | -| `ResourceLimitsPriorityFunction` | - | Deprecated | 1.19 | 1.19 | -| `ResourceQuotaScopeSelectors` | `false` | Alpha | 1.11 | 1.11 | -| `ResourceQuotaScopeSelectors` | `true` | Beta | 1.12 | 1.16 | -| `ResourceQuotaScopeSelectors` | `true` | GA | 1.17 | 1.18 | -| `RetroactiveDefaultStorageClass` | `false` | Alpha | 1.25 | 1.25 | -| `RetroactiveDefaultStorageClass` | `true` | Beta | 1.26 | 1.27 | -| `RetroactiveDefaultStorageClass` | `true` | GA | 1.28 | 1.28 | -| `RootCAConfigMap` | `false` | Alpha | 1.13 | 1.19 | -| `RootCAConfigMap` | `true` | Beta | 1.20 | 1.20 | -| `RootCAConfigMap` | `true` | GA | 1.21 | 1.22 | -| `RotateKubeletClientCertificate` | `true` | Beta | 1.8 | 1.18 | -| `RotateKubeletClientCertificate` | `true` | GA | 1.19 | 1.21 | -| `RunAsGroup` | `true` | Beta | 1.14 | 1.20 | -| `RunAsGroup` | `true` | GA | 1.21 | 1.22 | -| `RuntimeClass` | `false` | Alpha | 1.12 | 1.13 | -| `RuntimeClass` | `true` | Beta | 1.14 | 1.19 | -| `RuntimeClass` | `true` | GA | 1.20 | 1.24 | -| `SCTPSupport` | `false` | Alpha | 1.12 | 1.18 | -| `SCTPSupport` | `true` | Beta | 1.19 | 1.19 | -| `SCTPSupport` | `true` | GA | 1.20 | 1.22 | -| `ScheduleDaemonSetPods` | `false` | Alpha | 1.11 | 1.11 | -| `ScheduleDaemonSetPods` | `true` | Beta | 1.12 | 1.16 | -| `ScheduleDaemonSetPods` | `true` | GA | 1.17 | 1.18 | -| `SelectorIndex` | `false` | Alpha | 1.18 | 1.18 | -| `SelectorIndex` | `true` | Beta | 1.19 | 1.19 | -| `SelectorIndex` | `true` | GA | 1.20 | 1.25 | -| `ServiceAccountIssuerDiscovery` | `false` | Alpha | 1.18 | 1.19 | -| `ServiceAccountIssuerDiscovery` | `true` | Beta | 1.20 | 1.20 | -| `ServiceAccountIssuerDiscovery` | `true` | GA | 1.21 | 1.23 | -| `ServiceAppProtocol` | `false` | Alpha | 1.18 | 1.18 | -| `ServiceAppProtocol` | `true` | Beta | 1.19 | 1.19 | -| `ServiceAppProtocol` | `true` | GA | 1.20 | 1.22 | -| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 | -| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | 1.25 | -| `ServiceIPStaticSubrange` | `true` | GA | 1.26 | 1.27 | -| `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 | -| `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | 1.25 | -| `ServiceInternalTrafficPolicy` | `true` | GA | 1.26 | 1.27 | -| `ServiceLBNodePortControl` | `false` | Alpha | 1.20 | 1.21 | -| `ServiceLBNodePortControl` | `true` | Beta | 1.22 | 1.23 | -| `ServiceLBNodePortControl` | `true` | GA | 1.24 | 1.25 | -| `ServiceLoadBalancerClass` | `false` | Alpha | 1.21 | 1.21 | -| `ServiceLoadBalancerClass` | `true` | Beta | 1.22 | 1.23 | -| `ServiceLoadBalancerClass` | `true` | GA | 1.24 | 1.25 | -| `ServiceLoadBalancerFinalizer` | `false` | Alpha | 1.15 | 1.15 | -| `ServiceLoadBalancerFinalizer` | `true` | Beta | 1.16 | 1.16 | -| `ServiceLoadBalancerFinalizer` | `true` | GA | 1.17 | 1.20 | -| `ServiceNodeExclusion` | `false` | Alpha | 1.8 | 1.18 | -| `ServiceNodeExclusion` | `true` | Beta | 1.19 | 1.20 | -| `ServiceNodeExclusion` | `true` | GA | 1.21 | 1.22 | -| `ServiceTopology` | `false` | Alpha | 1.17 | 1.19 | -| `ServiceTopology` | `false` | Deprecated | 1.20 | 1.22 | -| `SetHostnameAsFQDN` | `false` | Alpha | 1.19 | 1.19 | -| `SetHostnameAsFQDN` | `true` | Beta | 1.20 | 1.21 | -| `SetHostnameAsFQDN` | `true` | GA | 1.22 | 1,24 | -| `StartupProbe` | `false` | Alpha | 1.16 | 1.17 | -| `StartupProbe` | `true` | Beta | 1.18 | 1.19 | -| `StartupProbe` | `true` | GA | 1.20 | 1.23 | -| `StatefulSetMinReadySeconds` | `false` | Alpha | 1.22 | 1.22 | -| `StatefulSetMinReadySeconds` | `true` | Beta | 1.23 | 1.24 | -| `StatefulSetMinReadySeconds` | `true` | GA | 1.25 | 1.26 | -| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | 1.10 | -| `StorageObjectInUseProtection` | `true` | GA | 1.11 | 1.24 | -| `StreamingProxyRedirects` | `false` | Beta | 1.5 | 1.5 | -| `StreamingProxyRedirects` | `true` | Beta | 1.6 | 1.17 | -| `StreamingProxyRedirects` | `true` | Deprecated | 1.18 | 1.21 | -| `StreamingProxyRedirects` | `false` | Deprecated | 1.22 | 1.24 | -| `SupportIPVSProxyMode` | `false` | Alpha | 1.8 | 1.8 | -| `SupportIPVSProxyMode` | `false` | Beta | 1.9 | 1.9 | -| `SupportIPVSProxyMode` | `true` | Beta | 1.10 | 1.10 | -| `SupportIPVSProxyMode` | `true` | GA | 1.11 | 1.20 | -| `SupportNodePidsLimit` | `false` | Alpha | 1.14 | 1.14 | -| `SupportNodePidsLimit` | `true` | Beta | 1.15 | 1.19 | -| `SupportNodePidsLimit` | `true` | GA | 1.20 | 1.23 | -| `SupportPodPidsLimit` | `false` | Alpha | 1.10 | 1.13 | -| `SupportPodPidsLimit` | `true` | Beta | 1.14 | 1.19 | -| `SupportPodPidsLimit` | `true` | GA | 1.20 | 1.23 | -| `SuspendJob` | `false` | Alpha | 1.21 | 1.21 | -| `SuspendJob` | `true` | Beta | 1.22 | 1.23 | -| `SuspendJob` | `true` | GA | 1.24 | 1.25 | -| `Sysctls` | `true` | Beta | 1.11 | 1.20 | -| `Sysctls` | `true` | GA | 1.21 | 1.22 | -| `TTLAfterFinished` | `false` | Alpha | 1.12 | 1.20 | -| `TTLAfterFinished` | `true` | Beta | 1.21 | 1.22 | -| `TTLAfterFinished` | `true` | GA | 1.23 | 1.24 | -| `TaintBasedEvictions` | `false` | Alpha | 1.6 | 1.12 | -| `TaintBasedEvictions` | `true` | Beta | 1.13 | 1.17 | -| `TaintBasedEvictions` | `true` | GA | 1.18 | 1.20 | -| `TaintNodesByCondition` | `false` | Alpha | 1.8 | 1.11 | -| `TaintNodesByCondition` | `true` | Beta | 1.12 | 1.16 | -| `TaintNodesByCondition` | `true` | GA | 1.17 | 1.18 | -| `TokenRequest` | `false` | Alpha | 1.10 | 1.11 | -| `TokenRequest` | `true` | Beta | 1.12 | 1.19 | -| `TokenRequest` | `true` | GA | 1.20 | 1.21 | -| `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 | -| `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 | -| `TokenRequestProjection` | `true` | GA | 1.20 | 1.21 | -| `TopologyManager` | `false` | Alpha | 1.16 | 1.17 | -| `TopologyManager` | `true` | Beta | 1.18 | 1.26 | -| `TopologyManager` | `true` | GA | 1.27 | 1.28 | -| `UserNamespacesStatelessPodsSupport` | `false` | Alpha | 1.25 | 1.27 | -| `ValidateProxyRedirects` | `false` | Alpha | 1.12 | 1.13 | -| `ValidateProxyRedirects` | `true` | Beta | 1.14 | 1.21 | -| `ValidateProxyRedirects` | `true` | Deprecated | 1.22 | 1.24 | -| `VolumePVCDataSource` | `false` | Alpha | 1.15 | 1.15 | -| `VolumePVCDataSource` | `true` | Beta | 1.16 | 1.17 | -| `VolumePVCDataSource` | `true` | GA | 1.18 | 1.21 | -| `VolumeScheduling` | `false` | Alpha | 1.9 | 1.9 | -| `VolumeScheduling` | `true` | Beta | 1.10 | 1.12 | -| `VolumeScheduling` | `true` | GA | 1.13 | 1.16 | -| `VolumeSnapshotDataSource` | `false` | Alpha | 1.12 | 1.16 | -| `VolumeSnapshotDataSource` | `true` | Beta | 1.17 | 1.19 | -| `VolumeSnapshotDataSource` | `true` | GA | 1.20 | 1.22 | -| `VolumeSubpath` | `true` | GA | 1.10 | 1.24 | -| `VolumeSubpathEnvExpansion` | `false` | Alpha | 1.14 | 1.14 | -| `VolumeSubpathEnvExpansion` | `true` | Beta | 1.15 | 1.16 | -| `VolumeSubpathEnvExpansion` | `true` | GA | 1.17 | 1.24 | -| `WarningHeaders` | `true` | Beta | 1.19 | 1.21 | -| `WarningHeaders` | `true` | GA | 1.22 | 1.24 | -| `WindowsEndpointSliceProxying` | `false` | Alpha | 1.19 | 1.20 | -| `WindowsEndpointSliceProxying` | `true` | Beta | 1.21 | 1.21 | -| `WindowsEndpointSliceProxying` | `true` | GA | 1.22| 1.24 | -| `WindowsGMSA` | `false` | Alpha | 1.14 | 1.15 | -| `WindowsGMSA` | `true` | Beta | 1.16 | 1.17 | -| `WindowsGMSA` | `true` | GA | 1.18 | 1.20 | -| `WindowsHostProcessContainers` | `false` | Alpha | 1.22 | 1.22 | -| `WindowsHostProcessContainers` | `true` | Beta | 1.23 | 1.25 | -| `WindowsHostProcessContainers` | `true` | GA | 1.26 | 1.27 | -| `WindowsRunAsUserName` | `false` | Alpha | 1.16 | 1.16 | -| `WindowsRunAsUserName` | `true` | Beta | 1.17 | 1.17 | -| `WindowsRunAsUserName` | `true` | GA | 1.18 | 1.20 | -{{< /table >}} - -## Descriptions for removed feature gates - -- `Accelerators`: Provided an early form of plugin to enable Nvidia GPU support when using - Docker Engine; no longer available. See - [Device Plugins](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) for - an alternative. - -- `AffinityInAnnotations`: Enable setting - [Pod affinity or anti-affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity). - -- `AdvancedAuditing`: Enable [advanced auditing](/docs/tasks/debug/debug-cluster/audit/#advanced-audit) - -- `AllowExtTrafficLocalEndpoints`: Enable a service to route external requests to node local endpoints. - -- `AllowInsecureBackendProxy`: Enable the users to skip TLS verification of - kubelets on Pod log requests. - -- `AttachVolumeLimit`: Enable volume plugins to report limits on number of volumes - that can be attached to a node. - See [dynamic volume limits](/docs/concepts/storage/storage-limits/#dynamic-volume-limits) - for more details. - -- `BalanceAttachedNodeVolumes`: Include volume count on node to be considered for - balanced resource allocation while scheduling. A node which has closer CPU, - memory utilization, and volume count is favored by the scheduler while making decisions. - -- `BlockVolume`: Enable the definition and consumption of raw block devices in Pods. - See [Raw Block Volume Support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support) - for more details. - -- `BoundServiceAccountTokenVolume`: Migrate ServiceAccount volumes to use a projected volume - consisting of a ServiceAccountTokenVolumeProjection. Cluster admins can use metric - `serviceaccount_stale_tokens_total` to monitor workloads that are depending on the extended - tokens. If there are no such workloads, turn off extended tokens by starting `kube-apiserver` with - flag `--service-account-extend-token-expiration=false`. - Check [Bound Service Account Tokens](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md) - for more details. - -- `CRIContainerLogRotation`: Enable container log rotation for CRI container runtime. - The default max size of a log file is 10MB and the default max number of - log files allowed for a container is 5. - These values can be configured in the kubelet config. - See [logging at node level](/docs/concepts/cluster-administration/logging/#logging-at-the-node-level) - for more details. - -- `CSIBlockVolume`: Enable external CSI volume drivers to support block storage. - See [`csi` raw block volume support](/docs/concepts/storage/volumes/#csi-raw-block-volume-support) - for more details. - -- `CSIDriverRegistry`: Enable all logic related to the CSIDriver API object in - `csi.storage.k8s.io`. - -- `CSIInlineVolume`: Enable CSI Inline volumes support for pods. - -- `CSIMigration`: Enables shims and translation logic to route volume - operations from in-tree plugins to corresponding pre-installed CSI plugins - -- `CSIMigrationAWS`: Enables shims and translation logic to route volume - operations from the AWS-EBS in-tree plugin to EBS CSI plugin. Supports - falling back to in-tree EBS plugin for mount operations to nodes that have - the feature disabled or that do not have EBS CSI plugin installed and - configured. Does not support falling back for provision operations, for those - the CSI plugin must be installed and configured. - -- `CSIMigrationAWSComplete`: Stops registering the EBS in-tree plugin in - kubelet and volume controllers and enables shims and translation logic to - route volume operations from the AWS-EBS in-tree plugin to EBS CSI plugin. - Requires CSIMigration and CSIMigrationAWS feature flags enabled and EBS CSI - plugin installed and configured on all nodes in the cluster. This flag has - been deprecated in favor of the `InTreePluginAWSUnregister` feature flag - which prevents the registration of in-tree EBS plugin. - -- `CSIMigrationAzureDisk`: Enables shims and translation logic to route volume - operations from the Azure-Disk in-tree plugin to AzureDisk CSI plugin. - Supports falling back to in-tree AzureDisk plugin for mount operations to - nodes that have the feature disabled or that do not have AzureDisk CSI plugin - installed and configured. Does not support falling back for provision - operations, for those the CSI plugin must be installed and configured. - Requires CSIMigration feature flag enabled. - -- `CSIMigrationAzureDiskComplete`: Stops registering the Azure-Disk in-tree - plugin in kubelet and volume controllers and enables shims and translation - logic to route volume operations from the Azure-Disk in-tree plugin to - AzureDisk CSI plugin. Requires CSIMigration and CSIMigrationAzureDisk feature - flags enabled and AzureDisk CSI plugin installed and configured on all nodes - in the cluster. This flag has been deprecated in favor of the - `InTreePluginAzureDiskUnregister` feature flag which prevents the registration - of in-tree AzureDisk plugin. - -- `CSIMigrationAzureFileComplete`: Stops registering the Azure-File in-tree - plugin in kubelet and volume controllers and enables shims and translation - logic to route volume operations from the Azure-File in-tree plugin to - AzureFile CSI plugin. Requires CSIMigration and CSIMigrationAzureFile feature - flags enabled and AzureFile CSI plugin installed and configured on all nodes - in the cluster. This flag has been deprecated in favor of the - `InTreePluginAzureFileUnregister` feature flag which prevents the registration - of in-tree AzureFile plugin. - -- `CSIMigrationGCE`: Enables shims and translation logic to route volume - operations from the GCE-PD in-tree plugin to PD CSI plugin. Supports falling - back to in-tree GCE plugin for mount operations to nodes that have the - feature disabled or that do not have PD CSI plugin installed and configured. - Does not support falling back for provision operations, for those the CSI - plugin must be installed and configured. Requires CSIMigration feature flag - enabled. - -- `CSIMigrationGCEComplete`: Stops registering the GCE-PD in-tree plugin in - kubelet and volume controllers and enables shims and translation logic to - route volume operations from the GCE-PD in-tree plugin to PD CSI plugin. - Requires CSIMigration and CSIMigrationGCE feature flags enabled and PD CSI - plugin installed and configured on all nodes in the cluster. This flag has - been deprecated in favor of the `InTreePluginGCEUnregister` feature flag which - prevents the registration of in-tree GCE PD plugin. - -- `CSIMigrationOpenStack`: Enables shims and translation logic to route volume - operations from the Cinder in-tree plugin to Cinder CSI plugin. Supports - falling back to in-tree Cinder plugin for mount operations to nodes that have - the feature disabled or that do not have Cinder CSI plugin installed and - configured. Does not support falling back for provision operations, for those - the CSI plugin must be installed and configured. Requires CSIMigration - feature flag enabled. - -- `CSIMigrationOpenStackComplete`: Stops registering the Cinder in-tree plugin in - kubelet and volume controllers and enables shims and translation logic to route - volume operations from the Cinder in-tree plugin to Cinder CSI plugin. - Requires CSIMigration and CSIMigrationOpenStack feature flags enabled and Cinder - CSI plugin installed and configured on all nodes in the cluster. This flag has - been deprecated in favor of the `InTreePluginOpenStackUnregister` feature flag - which prevents the registration of in-tree openstack cinder plugin. - -- `CSIMigrationvSphereComplete`: Stops registering the vSphere in-tree plugin in kubelet - and volume controllers and enables shims and translation logic to route volume operations - from the vSphere in-tree plugin to vSphere CSI plugin. Requires CSIMigration and - CSIMigrationvSphere feature flags enabled and vSphere CSI plugin installed and - configured on all nodes in the cluster. This flag has been deprecated in favor - of the `InTreePluginvSphereUnregister` feature flag which prevents the - registration of in-tree vsphere plugin. - -- `CSINodeInfo`: Enable all logic related to the CSINodeInfo API object in `csi.storage.k8s.io`. - -- `CSIPersistentVolume`: Enable discovering and mounting volumes provisioned through a - [CSI (Container Storage Interface)](https://git.k8s.io/design-proposals-archive/storage/container-storage-interface.md) - compatible volume plugin. - -- `CSIServiceAccountToken`: Enable CSI drivers to receive the pods' service account token - that they mount volumes for. See - [Token Requests](https://kubernetes-csi.github.io/docs/token-requests.html). - -- `CSIStorageCapacity`: Enables CSI drivers to publish storage capacity information - and the Kubernetes scheduler to use that information when scheduling pods. See - [Storage Capacity](/docs/concepts/storage/storage-capacity/). - Check the [`csi` volume type](/docs/concepts/storage/volumes/#csi) documentation for more details. - -- `CSIVolumeFSGroupPolicy`: Allows CSIDrivers to use the `fsGroupPolicy` field. - This field controls whether volumes created by a CSIDriver support volume ownership - and permission modifications when these volumes are mounted. - -- `CSRDuration`: Allows clients to request a duration for certificates issued - via the Kubernetes CSR API. - -- `ConfigurableFSGroupPolicy`: Allows user to configure volume permission change policy - for fsGroups when mounting a volume in a Pod. See - [Configure volume permission and ownership change policy for Pods](/docs/tasks/configure-pod-container/security-context/#configure-volume-permission-and-ownership-change-policy-for-pods) - 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. - -- `CronJobControllerV2`: Use an alternative implementation of the - {{< glossary_tooltip text="CronJob" term_id="cronjob" >}} controller. Otherwise, - version 1 of the same controller is selected. - -- `CronJobTimeZone`: Allow the use of the `timeZone` optional field in [CronJobs](/docs/concepts/workloads/controllers/cron-jobs/) - -- `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. - -- `CustomResourceDefaulting`: Enable CRD support for default values in OpenAPI v3 validation schemas. - -- `CustomResourcePublishOpenAPI`: Enables publishing of CRD OpenAPI specs. - -- `CustomResourceSubresources`: Enable `/status` and `/scale` subresources - on resources created from [CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). - -- `CustomResourceValidation`: Enable schema based validation on resources created from - [CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). - -- `CustomResourceWebhookConversion`: Enable webhook-based conversion - on resources created from [CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). - -- `DaemonSetUpdateSurge`: Enables the DaemonSet workloads to maintain - availability during update per node. - See [Perform a Rolling Update on a DaemonSet](/docs/tasks/manage-daemon/update-daemon-set/). - -- `DefaultPodTopologySpread`: Enables the use of `PodTopologySpread` scheduling plugin to do - [default spreading](/docs/concepts/scheduling-eviction/topology-spread-constraints/#internal-default-constraints). - -- `DelegateFSGroupToCSIDriver`: If supported by the CSI driver, delegates the - role of applying `fsGroup` from a Pod's `securityContext` to the driver by - passing `fsGroup` through the NodeStageVolume and NodePublishVolume CSI calls. - -- `DevicePlugins`: Enable the [device-plugins](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) - based resource provisioning on nodes. - -- `DisableAcceleratorUsageMetrics`: - [Disable accelerator metrics collected by the kubelet](/docs/concepts/cluster-administration/system-metrics/#disable-accelerator-metrics). - -- `DownwardAPIHugePages`: Enables usage of hugepages in - [downward API](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information). - -- `DryRun`: Enable server-side [dry run](/docs/reference/using-api/api-concepts/#dry-run) requests - so that validation, merging, and mutation can be tested without committing. - -- `DynamicAuditing`: Used to enable dynamic auditing before v1.19. - -- `DynamicKubeletConfig`: Enable the dynamic configuration of kubelet. The - feature is no longer supported outside of supported skew policy. The feature - gate was removed from kubelet in 1.24. - -- `DynamicProvisioningScheduling`: Extend the default scheduler to be aware of - volume topology and handle PV provisioning. - This feature was superseded by the `VolumeScheduling` feature in v1.12. - -- `DynamicVolumeProvisioning`: Enable the - [dynamic provisioning](/docs/concepts/storage/dynamic-provisioning/) of persistent volumes to Pods. - -- `EnableAggregatedDiscoveryTimeout`: Enable the five second - timeout on aggregated discovery calls. - -- `EnableEquivalenceClassCache`: Enable the scheduler to cache equivalence of - nodes when scheduling Pods. - -- `EndpointSlice`: Enables EndpointSlices for more scalable and extensible - network endpoints. See [Enabling EndpointSlices](/docs/concepts/services-networking/endpoint-slices/). - -- `EndpointSliceNodeName`: Enables EndpointSlice `nodeName` field. - -- `EndpointSliceProxying`: When enabled, kube-proxy running - on Linux will use EndpointSlices as the primary data source instead of - Endpoints, enabling scalability and performance improvements. See - [Enabling Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/). - -- `EndpointSliceTerminatingCondition`: Enables EndpointSlice `terminating` and `serving` - condition fields. - -- `EphemeralContainers`: Enable the ability to add - {{< glossary_tooltip text="ephemeral containers" term_id="ephemeral-container" >}} - to running Pods. - -- `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. - -- `ExternalPolicyForExternalIP`: Fix a bug where ExternalTrafficPolicy is not - applied to Service ExternalIPs. - -- `GCERegionalPersistentDisk`: Enable the regional PD feature on GCE. - -- `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). - -- `GenericEphemeralVolume`: Enables ephemeral, inline volumes that support all features - of normal volumes (can be provided by third-party storage vendors, storage capacity tracking, - restore from snapshot, etc.). - See [Ephemeral Volumes](/docs/concepts/storage/ephemeral-volumes/). - -- `HugePageStorageMediumSize`: Enable support for multiple sizes pre-allocated - [huge pages](/docs/tasks/manage-hugepages/scheduling-hugepages/). - -- `HugePages`: Enable the allocation and consumption of pre-allocated - [huge pages](/docs/tasks/manage-hugepages/scheduling-hugepages/). - -- `HyperVContainer`: Enable - [Hyper-V isolation](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container) - for Windows containers. - -- `IPv6DualStack`: Enable [dual stack](/docs/concepts/services-networking/dual-stack/) - support for IPv6. - -- `IdentifyPodOS`: Allows the Pod OS field to be specified. This helps in identifying - the OS of the pod authoritatively during the API server admission time. - In Kubernetes {{< skew currentVersion >}}, the allowed values for the `pod.spec.os.name` - are `windows` and `linux`. - -- `ImmutableEphemeralVolumes`: Allows for marking individual Secrets and ConfigMaps as - immutable for better safety and performance. - -- `IndexedJob`: Allows the [Job](/docs/concepts/workloads/controllers/job/) - controller to manage Pod completions per completion index. - -- `IngressClassNamespacedParams`: Allow namespace-scoped parameters reference in - `IngressClass` resource. This feature adds two fields - `Scope` and `Namespace` - to `IngressClass.spec.parameters`. - -- `Initializers`: Allow asynchronous coordination of object creation using the - Initializers admission plugin. - -- `JobMutableNodeSchedulingDirectives`: Allows updating node scheduling directives in - the pod template of [Job](/docs/concepts/workloads/controllers/job). - -- `KubeletConfigFile`: Enable loading kubelet configuration from - a file specified using a config file. - See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/) - for more details. - -- `KubeletCredentialProviders`: Enable kubelet exec credential providers for - image pull credentials. - -- `KubeletPluginsWatcher`: Enable probe-based plugin watcher utility to enable kubelet - to discover plugins such as [CSI volume drivers](/docs/concepts/storage/volumes/#csi). - -- `LegacyNodeRoleBehavior`: When disabled, legacy behavior in service load balancers and - node disruption will ignore the `node-role.kubernetes.io/master` label in favor of the - feature-specific labels provided by `NodeDisruptionExclusion` and `ServiceNodeExclusion`. - -- `LegacyServiceAccountTokenNoAutoGeneration`: Stop auto-generation of Secret-based - [service account tokens](/docs/concepts/security/service-accounts/#get-a-token). - -- `LocalStorageCapacityIsolation`: Enable the consumption of - [local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/) - and also the `sizeLimit` property of an - [emptyDir volume](/docs/concepts/storage/volumes/#emptydir). - -- `MixedProtocolLBService`: Enable using different protocols in the same `LoadBalancer` type - Service instance. - -- `MountContainers`: Enable using utility containers on host as the volume mounter. - -- `MountPropagation`: Enable sharing volume mounted by one container to other containers or pods. - For more details, please see [mount propagation](/docs/concepts/storage/volumes/#mount-propagation). - -- `NamespaceDefaultLabelName`: Configure the API Server to set an immutable - {{< glossary_tooltip text="label" term_id="label" >}} `kubernetes.io/metadata.name` - on all namespaces, containing the namespace name. - -- `NetworkPolicyStatus`: Enable the `status` subresource for NetworkPolicy objects. - -- `NodeDisruptionExclusion`: Enable use of the Node label `node.kubernetes.io/exclude-disruption` - which prevents nodes from being evacuated during zone failures. - -- `NodeLease`: Enable the new Lease API to report node heartbeats, which could be used as a node health signal. - -- `NonPreemptingPriority`: Enable `preemptionPolicy` field for PriorityClass and Pod. - -- `PVCProtection`: Enable the prevention of a PersistentVolumeClaim (PVC) from - being deleted when it is still used by any Pod. - -- `PersistentLocalVolumes`: Enable the usage of `local` volume type in Pods. - Pod affinity has to be specified if requesting a `local` volume. - -- `PodAffinityNamespaceSelector`: Enable the - [Pod Affinity Namespace Selector](/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector) - and [CrossNamespacePodAffinity](/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota) - quota scope features. - -- `PodDisruptionBudget`: Enable the [PodDisruptionBudget](/docs/tasks/run-application/configure-pdb/) feature. - -- `PodHasNetworkCondition`: Enable the kubelet to mark the [PodHasNetwork](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network) - condition on pods. This was renamed to `PodReadyToStartContainersCondition` in 1.28. - -- `PodOverhead`: Enable the [PodOverhead](/docs/concepts/scheduling-eviction/pod-overhead/) - feature to account for pod overheads. - -- `PodPriority`: Enable the descheduling and preemption of Pods based on their - [priorities](/docs/concepts/scheduling-eviction/pod-priority-preemption/). - -- `PodReadinessGates`: Enable the setting of `PodReadinessGate` field for extending - Pod readiness evaluation. See [Pod readiness gate](/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate) - for more details. - -- `PodSecurity`: Enables the `PodSecurity` admission plugin. - -- `PodShareProcessNamespace`: Enable the setting of `shareProcessNamespace` in a Pod for sharing - a single process namespace between containers running in a pod. More details can be found in - [Share Process Namespace between Containers in a Pod](/docs/tasks/configure-pod-container/share-process-namespace/). - -- `PreferNominatedNode`: This flag tells the scheduler whether the nominated - nodes will be checked first before looping through all the other nodes in - the cluster. - -- `RequestManagement`: Enables managing request concurrency with prioritization and fairness - at each API server. Deprecated by `APIPriorityAndFairness` since 1.17. - -- `ResourceLimitsPriorityFunction`: Enable a scheduler priority function that - assigns a lowest possible score of 1 to a node that satisfies at least one of - the input Pod's cpu and memory limits. The intent is to break ties between - nodes with same scores. - -- `ResourceQuotaScopeSelectors`: Enable resource quota scope selectors. - -- `RetroactiveDefaultStorageClass`: Allow assigning StorageClass to unbound PVCs retroactively. - -- `RootCAConfigMap`: Configure the `kube-controller-manager` to publish a - {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} named `kube-root-ca.crt` - to every namespace. This ConfigMap contains a CA bundle used for verifying connections - to the kube-apiserver. See - [Bound Service Account Tokens](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md) - for more details. - -- `RotateKubeletClientCertificate`: Enable the rotation of the client TLS certificate on the kubelet. - See [kubelet configuration](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration) - for more details. - -- `RunAsGroup`: Enable control over the primary group ID set on the init processes of containers. - -- `RuntimeClass`: Enable the [RuntimeClass](/docs/concepts/containers/runtime-class/) feature for - selecting container runtime configurations. - -- `SCTPSupport`: Enables the _SCTP_ `protocol` value in Pod, Service, Endpoints, EndpointSlice, - and NetworkPolicy definitions. - -- `ScheduleDaemonSetPods`: Enable DaemonSet Pods to be scheduled by the default scheduler instead - of the DaemonSet controller. - -- `SelectorIndex`: Allows label and field based indexes in API server watch cache to accelerate - list operations. - -- `ServiceAccountIssuerDiscovery`: Enable OIDC discovery endpoints (issuer and JWKS URLs) for the - service account issuer in the API server. See - [Configure Service Accounts for Pods](/docs/tasks/configure-pod-container/configure-service-account/#service-account-issuer-discovery) - for more details. - -- `ServiceAppProtocol`: Enables the `appProtocol` field on Services and Endpoints. - -- `ServiceIPStaticSubrange`: Enables a strategy for Services ClusterIP allocations, whereby the - ClusterIP range is subdivided. Dynamic allocated ClusterIP addresses will be allocated preferently - from the upper range allowing users to assign static ClusterIPs from the lower range with a low - risk of collision. See - [Avoiding collisions](/docs/reference/networking/virtual-ips/#avoiding-collisions) - for more details. - -- `ServiceInternalTrafficPolicy`: Enables the `internalTrafficPolicy` field on Services. - -- `ServiceLoadBalancerClass`: Enables the `loadBalancerClass` field on Services. See - [Specifying class of load balancer implementation](/docs/concepts/services-networking/service/#load-balancer-class) - for more details. - -- `ServiceLoadBalancerFinalizer`: Enable finalizer protection for Service load balancers. - -- `ServiceLBNodePortControl`: Enables the `allocateLoadBalancerNodePorts` field on Services. - -- `ServiceNodeExclusion`: Enable the exclusion of nodes from load balancers created by a cloud provider. - A node is eligible for exclusion if labelled with "`node.kubernetes.io/exclude-from-external-load-balancers`". - -- `ServiceTopology`: Enable service to route traffic based upon the Node topology of the cluster. - -- `SetHostnameAsFQDN`: Enable the ability of setting Fully Qualified Domain Name(FQDN) as the - hostname of a pod. See - [Pod's `setHostnameAsFQDN` field](/docs/concepts/services-networking/dns-pod-service/#pod-sethostnameasfqdn-field). - -- `StartupProbe`: Enable the [startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe) - probe in the kubelet. - -- `StatefulSetMinReadySeconds`: Allows `minReadySeconds` to be respected by - the StatefulSet controller. - -- `StorageObjectInUseProtection`: Postpone the deletion of PersistentVolume or - PersistentVolumeClaim objects if they are still being used. - -- `StreamingProxyRedirects`: Instructs the API server to intercept (and follow) redirects from the - backend (kubelet) for streaming requests. Examples of streaming requests include the `exec`, - `attach` and `port-forward` requests. - -- `SupportIPVSProxyMode`: Enable providing in-cluster service load balancing using IPVS. - See [service proxies](/docs/reference/networking/virtual-ips/) for more details. - -- `SupportNodePidsLimit`: Enable the support to limiting PIDs on the Node. The parameter - `pid=` in the `--system-reserved` and `--kube-reserved` options can be specified to - ensure that the specified number of process IDs will be reserved for the system as a whole and for - Kubernetes system daemons respectively. - -- `SupportPodPidsLimit`: Enable the support to limiting PIDs in Pods. - -- `SuspendJob`: Enable support to suspend and resume Jobs. For more details, see - [the Jobs docs](/docs/concepts/workloads/controllers/job/). - -- `Sysctls`: Enable support for namespaced kernel parameters (sysctls) that can be set for each - pod. See [sysctls](/docs/tasks/administer-cluster/sysctl-cluster/) for more details. - -- `TTLAfterFinished`: Allow a [TTL controller](/docs/concepts/workloads/controllers/ttlafterfinished/) - to clean up resources after they finish execution. - -- `TaintBasedEvictions`: Enable evicting pods from nodes based on taints on Nodes and tolerations - on Pods. See [taints and tolerations](/docs/concepts/scheduling-eviction/taint-and-toleration/) - for more details. - -- `TaintNodesByCondition`: Enable automatic tainting nodes based on - [node conditions](/docs/concepts/architecture/nodes/#condition). - -- `TokenRequest`: Enable the `TokenRequest` endpoint on service account resources. - -- `TokenRequestProjection`: Enable the injection of service account tokens into a Pod through a - [`projected` volume](/docs/concepts/storage/volumes/#projected). - -- `TopologyManager`: Enable a mechanism to coordinate fine-grained hardware resource - assignments for different components in Kubernetes. See - [Control Topology Management Policies on a node](/docs/tasks/administer-cluster/topology-manager/). - -- `UserNamespacesStatelessPodsSupport`: Enable user namespace support for stateless Pods. This flag was renamed on newer releases to `UserNamespacesSupport`. - -- `ValidateProxyRedirects`: This flag controls whether the API server should validate that redirects - are only followed to the same host. Only used if the `StreamingProxyRedirects` flag is enabled. - -- `VolumePVCDataSource`: Enable support for specifying an existing PVC as a DataSource. - -- `VolumeScheduling`: Enable volume topology aware scheduling and make the PersistentVolumeClaim - (PVC) binding aware of scheduling decisions. It also enables the usage of - [`local`](/docs/concepts/storage/volumes/#local) volume type when used together with the - `PersistentLocalVolumes` feature gate. - -- `VolumeSnapshotDataSource`: Enable volume snapshot data source support. - -- `VolumeSubpath`: Allow mounting a subpath of a volume in a container. - -- `VolumeSubpathEnvExpansion`: Enable `subPathExpr` field for expanding environment - variables into a `subPath`. - -- `WarningHeaders`: Allow sending warning headers in API responses. - -- `WindowsEndpointSliceProxying`: When enabled, kube-proxy running on Windows will use - EndpointSlices as the primary data source instead of Endpoints, enabling scalability and - performance improvements. See - [Enabling Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/). - -- `WindowsGMSA`: Enables passing of GMSA credential specs from pods to container runtimes. - -- `WindowsHostProcessContainers`: Enables support for Windows HostProcess containers. - -- `WindowsRunAsUserName` : Enable support for running applications in Windows containers with as a - non-default user. See [Configuring RunAsUserName](/docs/tasks/configure-pod-container/configure-runasusername) - for more details. - diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates-removed/index.md b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed/index.md new file mode 100644 index 0000000000..6d6c2f54da --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates-removed/index.md @@ -0,0 +1,600 @@ +--- +title: Feature Gates (removed) +weight: 15 +content_type: concept +--- + + + +This page contains list of feature gates that have been removed. The information on this page is for reference. +A removed feature gate is different from a GA'ed or deprecated one in that a removed one is +no longer recognized as a valid feature gate. +However, a GA'ed or a deprecated feature gate is still recognized by the corresponding Kubernetes +components although they are unable to cause any behavior differences in a cluster. + +For feature gates that are still recognized by the Kubernetes components, please refer to +the [Alpha/Beta feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features) +or the [Graduated/Deprecated feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-graduated-or-deprecated-features) + +### Feature gates that are removed + +In the following table: + +- The "From" column contains the Kubernetes release when a feature is introduced + or its release stage is changed. +- The "To" column, if not empty, contains the last Kubernetes release in which + you can still use a feature gate. If the feature stage is either "Deprecated" + or "GA", the "To" column is the Kubernetes release when the feature is removed. + +{{< table caption="Feature Gates Removed" >}} + +| Feature | Default | Stage | From | To | +|---------|---------|-------|-------|-------| +| `Accelerators` | `false` | Alpha | 1.6 | 1.10 | +| `Accelerators` | - | Deprecated | 1.11 | 1.11 | +| `AdvancedAuditing` | `false` | Alpha | 1.7 | 1.7 | +| `AdvancedAuditing` | `true` | Beta | 1.8 | 1.11 | +| `AdvancedAuditing` | `true` | GA | 1.12 | 1.27 | +| `AffinityInAnnotations` | `false` | Alpha | 1.6 | 1.7 | +| `AffinityInAnnotations` | - | Deprecated | 1.8 | 1.8 | +| `AllowExtTrafficLocalEndpoints` | `false` | Beta | 1.4 | 1.6 | +| `AllowExtTrafficLocalEndpoints` | `true` | GA | 1.7 | 1.9 | +| `AllowInsecureBackendProxy` | `true` | Beta | 1.17 | 1.20 | +| `AllowInsecureBackendProxy` | `true` | GA | 1.21 | 1.25 | +| `AttachVolumeLimit` | `false` | Alpha | 1.11 | 1.11 | +| `AttachVolumeLimit` | `true` | Beta | 1.12 | 1.16 | +| `AttachVolumeLimit` | `true` | GA | 1.17 | 1.21 | +| `BalanceAttachedNodeVolumes` | `false` | Alpha | 1.11 | 1.21 | +| `BalanceAttachedNodeVolumes` | `false` | Deprecated | 1.22 | 1.22 | +| `BlockVolume` | `false` | Alpha | 1.9 | 1.12 | +| `BlockVolume` | `true` | Beta | 1.13 | 1.17 | +| `BlockVolume` | `true` | GA | 1.18 | 1.21 | +| `BoundServiceAccountTokenVolume` | `false` | Alpha | 1.13 | 1.20 | +| `BoundServiceAccountTokenVolume` | `true` | Beta | 1.21 | 1.21 | +| `BoundServiceAccountTokenVolume` | `true` | GA | 1.22 | 1.23 | +| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | 1.10 | +| `CRIContainerLogRotation` | `true` | Beta | 1.11 | 1.20 | +| `CRIContainerLogRotation` | `true` | GA | 1.21 | 1.22 | +| `CSIBlockVolume` | `false` | Alpha | 1.11 | 1.13 | +| `CSIBlockVolume` | `true` | Beta | 1.14 | 1.17 | +| `CSIBlockVolume` | `true` | GA | 1.18 | 1.21 | +| `CSIDriverRegistry` | `false` | Alpha | 1.12 | 1.13 | +| `CSIDriverRegistry` | `true` | Beta | 1.14 | 1.17 | +| `CSIDriverRegistry` | `true` | GA | 1.18 | 1.21 | +| `CSIInlineVolume` | `false` | Alpha | 1.15 | 1.15 | +| `CSIInlineVolume` | `true` | Beta | 1.16 | 1.24 | +| `CSIInlineVolume` | `true` | GA | 1.25 | 1.26 | +| `CSIMigration` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigration` | `true` | Beta | 1.17 | 1.24 | +| `CSIMigration` | `true` | GA | 1.25 | 1.26 | +| `CSIMigrationAWS` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigrationAWS` | `false` | Beta | 1.17 | 1.22 | +| `CSIMigrationAWS` | `true` | Beta | 1.23 | 1.24 | +| `CSIMigrationAWS` | `true` | GA | 1.25 | 1.26 | +| `CSIMigrationAWSComplete` | `false` | Alpha | 1.17 | 1.20 | +| `CSIMigrationAWSComplete` | - | Deprecated | 1.21 | 1.21 | +| `CSIMigrationAzureDisk` | `false` | Alpha | 1.15 | 1.18 | +| `CSIMigrationAzureDisk` | `false` | Beta | 1.19 | 1.22 | +| `CSIMigrationAzureDisk` | `true` | Beta | 1.23 | 1.23 | +| `CSIMigrationAzureDisk` | `true` | GA | 1.24 | 1.26 | +| `CSIMigrationAzureDiskComplete` | `false` | Alpha | 1.17 | 1.20 | +| `CSIMigrationAzureDiskComplete` | - | Deprecated | 1.21 | 1.21 | +| `CSIMigrationAzureFileComplete` | `false` | Alpha | 1.17 | 1.20 | +| `CSIMigrationAzureFileComplete` | - | Deprecated | 1.21 | 1.21 | +| `CSIMigrationGCE` | `false` | Alpha | 1.14 | 1.16 | +| `CSIMigrationGCE` | `false` | Beta | 1.17 | 1.22 | +| `CSIMigrationGCE` | `true` | Beta | 1.23 | 1.24 | +| `CSIMigrationGCE` | `true` | GA | 1.25 | 1.27 | +| `CSIMigrationGCEComplete` | `false` | Alpha | 1.17 | 1.20 | +| `CSIMigrationGCEComplete` | - | Deprecated | 1.21 | 1.21 | +| `CSIMigrationOpenStack` | `false` | Alpha | 1.14 | 1.17 | +| `CSIMigrationOpenStack` | `true` | Beta | 1.18 | 1.23 | +| `CSIMigrationOpenStack` | `true` | GA | 1.24 | 1.25 | +| `CSIMigrationOpenStackComplete` | `false` | Alpha | 1.17 | 1.20 | +| `CSIMigrationOpenStackComplete` | - | Deprecated | 1.21 | 1.21 | +| `CSIMigrationvSphereComplete` | `false` | Beta | 1.19 | 1.21 | +| `CSIMigrationvSphereComplete` | - | Deprecated | 1.22 | 1.22 | +| `CSINodeInfo` | `false` | Alpha | 1.12 | 1.13 | +| `CSINodeInfo` | `true` | Beta | 1.14 | 1.16 | +| `CSINodeInfo` | `true` | GA | 1.17 | 1.22 | +| `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | +| `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 | +| `CSIPersistentVolume` | `true` | GA | 1.13 | 1.16 | +| `CSIServiceAccountToken` | `false` | Alpha | 1.20 | 1.20 | +| `CSIServiceAccountToken` | `true` | Beta | 1.21 | 1.21 | +| `CSIServiceAccountToken` | `true` | GA | 1.22 | 1.24 | +| `CSIStorageCapacity` | `false` | Alpha | 1.19 | 1.20 | +| `CSIStorageCapacity` | `true` | Beta | 1.21 | 1.23 | +| `CSIStorageCapacity` | `true` | GA | 1.24 | 1.27 | +| `CSIVolumeFSGroupPolicy` | `false` | Alpha | 1.19 | 1.19 | +| `CSIVolumeFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 | +| `CSIVolumeFSGroupPolicy` | `true` | GA | 1.23 | 1.25 | +| `CSRDuration` | `true` | Beta | 1.22 | 1.23 | +| `CSRDuration` | `true` | GA | 1.24 | 1.25 | +| `ConfigurableFSGroupPolicy` | `false` | Alpha | 1.18 | 1.19 | +| `ConfigurableFSGroupPolicy` | `true` | Beta | 1.20 | 1.22 | +| `ConfigurableFSGroupPolicy` | `true` | GA | 1.23 | 1.25 | +| `ControllerManagerLeaderMigration` | `false` | Alpha | 1.21 | 1.21 | +| `ControllerManagerLeaderMigration` | `true` | Beta | 1.22 | 1.23 | +| `ControllerManagerLeaderMigration` | `true` | GA | 1.24 | 1.26 | +| `CronJobControllerV2` | `false` | Alpha | 1.20 | 1.20 | +| `CronJobControllerV2` | `true` | Beta | 1.21 | 1.21 | +| `CronJobControllerV2` | `true` | GA | 1.22 | 1.23 | +| `CronJobTimeZone` | `false` | Alpha | 1.24 | 1.24 | +| `CronJobTimeZone` | `true` | Beta | 1.25 | 1.26 | +| `CronJobTimeZone` | `true` | GA | 1.27 | 1.28 | +| `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 | +| `CustomPodDNS` | `true` | Beta| 1.10 | 1.13 | +| `CustomPodDNS` | `true` | GA | 1.14 | 1.16 | +| `CustomResourceDefaulting` | `false` | Alpha| 1.15 | 1.15 | +| `CustomResourceDefaulting` | `true` | Beta | 1.16 | 1.16 | +| `CustomResourceDefaulting` | `true` | GA | 1.17 | 1.18 | +| `CustomResourcePublishOpenAPI` | `false` | Alpha| 1.14 | 1.14 | +| `CustomResourcePublishOpenAPI` | `true` | Beta| 1.15 | 1.15 | +| `CustomResourcePublishOpenAPI` | `true` | GA | 1.16 | 1.18 | +| `CustomResourceSubresources` | `false` | Alpha | 1.10 | 1.10 | +| `CustomResourceSubresources` | `true` | Beta | 1.11 | 1.15 | +| `CustomResourceSubresources` | `true` | GA | 1.16 | 1.18 | +| `CustomResourceValidation` | `false` | Alpha | 1.8 | 1.8 | +| `CustomResourceValidation` | `true` | Beta | 1.9 | 1.15 | +| `CustomResourceValidation` | `true` | GA | 1.16 | 1.18 | +| `CustomResourceWebhookConversion` | `false` | Alpha | 1.13 | 1.14 | +| `CustomResourceWebhookConversion` | `true` | Beta | 1.15 | 1.15 | +| `CustomResourceWebhookConversion` | `true` | GA | 1.16 | 1.18 | +| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | +| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | +| `DaemonSetUpdateSurge` | `true` | GA | 1.25 | 1.26 | +| `DefaultPodTopologySpread` | `false` | Alpha | 1.19 | 1.19 | +| `DefaultPodTopologySpread` | `true` | Beta | 1.20 | 1.23 | +| `DefaultPodTopologySpread` | `true` | GA | 1.24 | 1.25 | +| `DelegateFSGroupToCSIDriver` | `false` | Alpha | 1.22 | 1.22 | +| `DelegateFSGroupToCSIDriver` | `true` | Beta | 1.23 | 1.25 | +| `DelegateFSGroupToCSIDriver` | `true` | GA | 1.26 | 1.27 | +| `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 | +| `DevicePlugins` | `true` | Beta | 1.10 | 1.25 | +| `DevicePlugins` | `true` | GA | 1.26 | 1.27 | +| `DisableAcceleratorUsageMetrics` | `false` | Alpha | 1.19 | 1.19 | +| `DisableAcceleratorUsageMetrics` | `true` | Beta | 1.20 | 1.24 | +| `DisableAcceleratorUsageMetrics` | `true` | GA | 1.25 | 1.27 | +| `DownwardAPIHugePages` | `false` | Alpha | 1.20 | 1.20 | +| `DownwardAPIHugePages` | `false` | Beta | 1.21 | 1.21 | +| `DownwardAPIHugePages` | `true` | Beta | 1.22 | 1.26 | +| `DownwardAPIHugePages` | `true` | GA | 1.27 | 1.28 | +| `DryRun` | `false` | Alpha | 1.12 | 1.12 | +| `DryRun` | `true` | Beta | 1.13 | 1.18 | +| `DryRun` | `true` | GA | 1.19 | 1.27 | +| `DynamicAuditing` | `false` | Alpha | 1.13 | 1.18 | +| `DynamicAuditing` | - | Deprecated | 1.19 | 1.19 | +| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | 1.10 | +| `DynamicKubeletConfig` | `true` | Beta | 1.11 | 1.21 | +| `DynamicKubeletConfig` | `false` | Deprecated | 1.22 | 1.25 | +| `DynamicProvisioningScheduling` | `false` | Alpha | 1.11 | 1.11 | +| `DynamicProvisioningScheduling` | - | Deprecated| 1.12 | - | +| `DynamicVolumeProvisioning` | `true` | Alpha | 1.3 | 1.7 | +| `DynamicVolumeProvisioning` | `true` | GA | 1.8 | 1.12 | +| `EnableAggregatedDiscoveryTimeout` | `true` | Deprecated | 1.16 | 1.17 | +| `EnableEquivalenceClassCache` | `false` | Alpha | 1.8 | 1.12 | +| `EnableEquivalenceClassCache` | - | Deprecated | 1.13 | 1.23 | +| `EndpointSlice` | `false` | Alpha | 1.16 | 1.16 | +| `EndpointSlice` | `false` | Beta | 1.17 | 1.17 | +| `EndpointSlice` | `true` | Beta | 1.18 | 1.20 | +| `EndpointSlice` | `true` | GA | 1.21 | 1.24 | +| `EndpointSliceNodeName` | `false` | Alpha | 1.20 | 1.20 | +| `EndpointSliceNodeName` | `true` | GA | 1.21 | 1.24 | +| `EndpointSliceProxying` | `false` | Alpha | 1.18 | 1.18 | +| `EndpointSliceProxying` | `true` | Beta | 1.19 | 1.21 | +| `EndpointSliceProxying` | `true` | GA | 1.22 | 1.24 | +| `EndpointSliceTerminatingCondition` | `false` | Alpha | 1.20 | 1.21 | +| `EndpointSliceTerminatingCondition` | `true` | Beta | 1.22 | 1.25 | +| `EndpointSliceTerminatingCondition` | `true` | GA | 1.26 | 1.27 | +| `EphemeralContainers` | `false` | Alpha | 1.16 | 1.22 | +| `EphemeralContainers` | `true` | Beta | 1.23 | 1.24 | +| `EphemeralContainers` | `true` | GA | 1.25 | 1.26 | +| `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.26 | +| `ExpandInUsePersistentVolumes` | `false` | Alpha | 1.11 | 1.14 | +| `ExpandInUsePersistentVolumes` | `true` | Beta | 1.15 | 1.23 | +| `ExpandInUsePersistentVolumes` | `true` | GA | 1.24 | 1.26 | +| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.10 | +| `ExpandPersistentVolumes` | `true` | Beta | 1.11 | 1.23 | +| `ExpandPersistentVolumes` | `true` | GA | 1.24 | 1.26 | +| `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | 1.12 | +| `ExperimentalCriticalPodAnnotation` | `false` | Deprecated | 1.13 | 1.16 | +| `ExternalPolicyForExternalIP` | `true` | GA | 1.18 | 1.22 | +| `GCERegionalPersistentDisk` | `true` | Beta | 1.10 | 1.12 | +| `GCERegionalPersistentDisk` | `true` | GA | 1.13 | 1.16 | +| `GRPCContainerProbe` | `false` | Alpha | 1.23 | 1.23 | +| `GRPCContainerProbe` | `true` | Beta | 1.24 | 1.26 | +| `GRPCContainerProbe` | `true` | GA | 1.27 | 1.28 | +| `GenericEphemeralVolume` | `false` | Alpha | 1.19 | 1.20 | +| `GenericEphemeralVolume` | `true` | Beta | 1.21 | 1.22 | +| `GenericEphemeralVolume` | `true` | GA | 1.23 | 1.24 | +| `HugePageStorageMediumSize` | `false` | Alpha | 1.18 | 1.18 | +| `HugePageStorageMediumSize` | `true` | Beta | 1.19 | 1.21 | +| `HugePageStorageMediumSize` | `true` | GA | 1.22 | 1.24 | +| `HugePages` | `false` | Alpha | 1.8 | 1.9 | +| `HugePages` | `true` | Beta| 1.10 | 1.13 | +| `HugePages` | `true` | GA | 1.14 | 1.16 | +| `HyperVContainer` | `false` | Alpha | 1.10 | 1.19 | +| `HyperVContainer` | `false` | Deprecated | 1.20 | 1.20 | +| `IPv6DualStack` | `false` | Alpha | 1.15 | 1.20 | +| `IPv6DualStack` | `true` | Beta | 1.21 | 1.22 | +| `IPv6DualStack` | `true` | GA | 1.23 | 1.24 | +| `IdentifyPodOS` | `false` | Alpha | 1.23 | 1.23 | +| `IdentifyPodOS` | `true` | Beta | 1.24 | 1.24 | +| `IdentifyPodOS` | `true` | GA | 1.25 | 1.26 | +| `ImmutableEphemeralVolumes` | `false` | Alpha | 1.18 | 1.18 | +| `ImmutableEphemeralVolumes` | `true` | Beta | 1.19 | 1.20 | +| `ImmutableEphemeralVolumes` | `true` | GA | 1.21 | 1.24 | +| `IndexedJob` | `false` | Alpha | 1.21 | 1.21 | +| `IndexedJob` | `true` | Beta | 1.22 | 1.23 | +| `IndexedJob` | `true` | GA | 1.24 | 1.25 | +| `IngressClassNamespacedParams` | `false` | Alpha | 1.21 | 1.21 | +| `IngressClassNamespacedParams` | `true` | Beta | 1.22 | 1.22 | +| `IngressClassNamespacedParams` | `true` | GA | 1.23 | 1.24 | +| `Initializers` | `false` | Alpha | 1.7 | 1.13 | +| `Initializers` | - | Deprecated | 1.14 | 1.14 | +| `JobMutableNodeSchedulingDirectives` | `true` | Beta | 1.23 | 1.26 | +| `JobMutableNodeSchedulingDirectives` | `true` | GA | 1.27 | 1.28 | +| `KMSv1` | `true` | Deprecated | 1.28 | | +| `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 | +| `KubeletConfigFile` | - | Deprecated | 1.10 | 1.10 | +| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | 1.23 | +| `KubeletCredentialProviders` | `true` | Beta | 1.24 | 1.25 | +| `KubeletCredentialProviders` | `true` | GA | 1.26 | 1.28 | +| `KubeletPluginsWatcher` | `false` | Alpha | 1.11 | 1.11 | +| `KubeletPluginsWatcher` | `true` | Beta | 1.12 | 1.12 | +| `KubeletPluginsWatcher` | `true` | GA | 1.13 | 1.16 | +| `LegacyNodeRoleBehavior` | `false` | Alpha | 1.16 | 1.18 | +| `LegacyNodeRoleBehavior` | `true` | Beta | 1.19 | 1.20 | +| `LegacyNodeRoleBehavior` | `false` | GA | 1.21 | 1.22 | +| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | Beta | 1.24 | 1.25 | +| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | GA | 1.26 | 1.28 | +| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 | +| `LocalStorageCapacityIsolation` | `true` | Beta | 1.10 | 1.24 | +| `LocalStorageCapacityIsolation` | `true` | GA | 1.25 | 1.26 | +| `MixedProtocolLBService` | `false` | Alpha | 1.20 | 1.23 | +| `MixedProtocolLBService` | `true` | Beta | 1.24 | 1.25 | +| `MixedProtocolLBService` | `true` | GA | 1.26 | 1.27 | +| `MountContainers` | `false` | Alpha | 1.9 | 1.16 | +| `MountContainers` | `false` | Deprecated | 1.17 | 1.17 | +| `MountPropagation` | `false` | Alpha | 1.8 | 1.9 | +| `MountPropagation` | `true` | Beta | 1.10 | 1.11 | +| `MountPropagation` | `true` | GA | 1.12 | 1.14 | +| `NamespaceDefaultLabelName` | `true` | Beta | 1.21 | 1.21 | +| `NamespaceDefaultLabelName` | `true` | GA | 1.22 | 1.23 | +| `NetworkPolicyEndPort` | `false` | Alpha | 1.21 | 1.21 | +| `NetworkPolicyEndPort` | `true` | Beta | 1.22 | 1.24 | +| `NetworkPolicyEndPort` | `true` | GA | 1.25 | 1.26 | +| `NetworkPolicyStatus` | `false` | Alpha | 1.24 | 1.27 | +| `NodeDisruptionExclusion` | `false` | Alpha | 1.16 | 1.18 | +| `NodeDisruptionExclusion` | `true` | Beta | 1.19 | 1.20 | +| `NodeDisruptionExclusion` | `true` | GA | 1.21 | 1.22 | +| `NodeLease` | `false` | Alpha | 1.12 | 1.13 | +| `NodeLease` | `true` | Beta | 1.14 | 1.16 | +| `NodeLease` | `true` | GA | 1.17 | 1.23 | +| `NonPreemptingPriority` | `false` | Alpha | 1.15 | 1.18 | +| `NonPreemptingPriority` | `true` | Beta | 1.19 | 1.23 | +| `NonPreemptingPriority` | `true` | GA | 1.24 | 1.25 | +| `PVCProtection` | `false` | Alpha | 1.9 | 1.9 | +| `PVCProtection` | - | Deprecated | 1.10 | 1.10 | +| `PersistentLocalVolumes` | `false` | Alpha | 1.7 | 1.9 | +| `PersistentLocalVolumes` | `true` | Beta | 1.10 | 1.13 | +| `PersistentLocalVolumes` | `true` | GA | 1.14 | 1.16 | +| `PodAffinityNamespaceSelector` | `false` | Alpha | 1.21 | 1.21 | +| `PodAffinityNamespaceSelector` | `true` | Beta | 1.22 | 1.23 | +| `PodAffinityNamespaceSelector` | `true` | GA | 1.24 | 1.25 | +| `PodDisruptionBudget` | `false` | Alpha | 1.3 | 1.4 | +| `PodDisruptionBudget` | `true` | Beta | 1.5 | 1.20 | +| `PodDisruptionBudget` | `true` | GA | 1.21 | 1.25 | +| `PodHasNetworkCondition` | `false` | Alpha | 1.25 | 1.27 | +| `PodOverhead` | `false` | Alpha | 1.16 | 1.17 | +| `PodOverhead` | `true` | Beta | 1.18 | 1.23 | +| `PodOverhead` | `true` | GA | 1.24 | 1.25 | +| `PodPriority` | `false` | Alpha | 1.8 | 1.10 | +| `PodPriority` | `true` | Beta | 1.11 | 1.13 | +| `PodPriority` | `true` | GA | 1.14 | 1.18 | +| `PodReadinessGates` | `false` | Alpha | 1.11 | 1.11 | +| `PodReadinessGates` | `true` | Beta | 1.12 | 1.13 | +| `PodReadinessGates` | `true` | GA | 1.14 | 1.16 | +| `PodSecurity` | `false` | Alpha | 1.22 | 1.22 | +| `PodSecurity` | `true` | Beta | 1.23 | 1.24 | +| `PodSecurity` | `true` | GA | 1.25 | 1.27 | +| `PodShareProcessNamespace` | `false` | Alpha | 1.10 | 1.11 | +| `PodShareProcessNamespace` | `true` | Beta | 1.12 | 1.16 | +| `PodShareProcessNamespace` | `true` | GA | 1.17 | 1.19 | +| `PreferNominatedNode` | `false` | Alpha | 1.21 | 1.21 | +| `PreferNominatedNode` | `true` | Beta | 1.22 | 1.23 | +| `PreferNominatedNode` | `true` | GA | 1.24 | 1.25 | +| `RequestManagement` | `false` | Alpha | 1.15 | 1.16 | +| `RequestManagement` | - | Deprecated | 1.17 | 1.17 | +| `ResourceLimitsPriorityFunction` | `false` | Alpha | 1.9 | 1.18 | +| `ResourceLimitsPriorityFunction` | - | Deprecated | 1.19 | 1.19 | +| `ResourceQuotaScopeSelectors` | `false` | Alpha | 1.11 | 1.11 | +| `ResourceQuotaScopeSelectors` | `true` | Beta | 1.12 | 1.16 | +| `ResourceQuotaScopeSelectors` | `true` | GA | 1.17 | 1.18 | +| `RetroactiveDefaultStorageClass` | `false` | Alpha | 1.25 | 1.25 | +| `RetroactiveDefaultStorageClass` | `true` | Beta | 1.26 | 1.27 | +| `RetroactiveDefaultStorageClass` | `true` | GA | 1.28 | 1.28 | +| `RootCAConfigMap` | `false` | Alpha | 1.13 | 1.19 | +| `RootCAConfigMap` | `true` | Beta | 1.20 | 1.20 | +| `RootCAConfigMap` | `true` | GA | 1.21 | 1.22 | +| `RotateKubeletClientCertificate` | `true` | Beta | 1.8 | 1.18 | +| `RotateKubeletClientCertificate` | `true` | GA | 1.19 | 1.21 | +| `RunAsGroup` | `true` | Beta | 1.14 | 1.20 | +| `RunAsGroup` | `true` | GA | 1.21 | 1.22 | +| `RuntimeClass` | `false` | Alpha | 1.12 | 1.13 | +| `RuntimeClass` | `true` | Beta | 1.14 | 1.19 | +| `RuntimeClass` | `true` | GA | 1.20 | 1.24 | +| `SCTPSupport` | `false` | Alpha | 1.12 | 1.18 | +| `SCTPSupport` | `true` | Beta | 1.19 | 1.19 | +| `SCTPSupport` | `true` | GA | 1.20 | 1.22 | +| `ScheduleDaemonSetPods` | `false` | Alpha | 1.11 | 1.11 | +| `ScheduleDaemonSetPods` | `true` | Beta | 1.12 | 1.16 | +| `ScheduleDaemonSetPods` | `true` | GA | 1.17 | 1.18 | +| `SelectorIndex` | `false` | Alpha | 1.18 | 1.18 | +| `SelectorIndex` | `true` | Beta | 1.19 | 1.19 | +| `SelectorIndex` | `true` | GA | 1.20 | 1.25 | +| `ServiceAccountIssuerDiscovery` | `false` | Alpha | 1.18 | 1.19 | +| `ServiceAccountIssuerDiscovery` | `true` | Beta | 1.20 | 1.20 | +| `ServiceAccountIssuerDiscovery` | `true` | GA | 1.21 | 1.23 | +| `ServiceAppProtocol` | `false` | Alpha | 1.18 | 1.18 | +| `ServiceAppProtocol` | `true` | Beta | 1.19 | 1.19 | +| `ServiceAppProtocol` | `true` | GA | 1.20 | 1.22 | +| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 | +| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | 1.25 | +| `ServiceIPStaticSubrange` | `true` | GA | 1.26 | 1.27 | +| `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 | +| `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | 1.25 | +| `ServiceInternalTrafficPolicy` | `true` | GA | 1.26 | 1.27 | +| `ServiceLBNodePortControl` | `false` | Alpha | 1.20 | 1.21 | +| `ServiceLBNodePortControl` | `true` | Beta | 1.22 | 1.23 | +| `ServiceLBNodePortControl` | `true` | GA | 1.24 | 1.25 | +| `ServiceLoadBalancerClass` | `false` | Alpha | 1.21 | 1.21 | +| `ServiceLoadBalancerClass` | `true` | Beta | 1.22 | 1.23 | +| `ServiceLoadBalancerClass` | `true` | GA | 1.24 | 1.25 | +| `ServiceLoadBalancerFinalizer` | `false` | Alpha | 1.15 | 1.15 | +| `ServiceLoadBalancerFinalizer` | `true` | Beta | 1.16 | 1.16 | +| `ServiceLoadBalancerFinalizer` | `true` | GA | 1.17 | 1.20 | +| `ServiceNodeExclusion` | `false` | Alpha | 1.8 | 1.18 | +| `ServiceNodeExclusion` | `true` | Beta | 1.19 | 1.20 | +| `ServiceNodeExclusion` | `true` | GA | 1.21 | 1.22 | +| `ServiceTopology` | `false` | Alpha | 1.17 | 1.19 | +| `ServiceTopology` | `false` | Deprecated | 1.20 | 1.22 | +| `SetHostnameAsFQDN` | `false` | Alpha | 1.19 | 1.19 | +| `SetHostnameAsFQDN` | `true` | Beta | 1.20 | 1.21 | +| `SetHostnameAsFQDN` | `true` | GA | 1.22 | 1,24 | +| `StartupProbe` | `false` | Alpha | 1.16 | 1.17 | +| `StartupProbe` | `true` | Beta | 1.18 | 1.19 | +| `StartupProbe` | `true` | GA | 1.20 | 1.23 | +| `StatefulSetMinReadySeconds` | `false` | Alpha | 1.22 | 1.22 | +| `StatefulSetMinReadySeconds` | `true` | Beta | 1.23 | 1.24 | +| `StatefulSetMinReadySeconds` | `true` | GA | 1.25 | 1.26 | +| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | 1.10 | +| `StorageObjectInUseProtection` | `true` | GA | 1.11 | 1.24 | +| `StreamingProxyRedirects` | `false` | Beta | 1.5 | 1.5 | +| `StreamingProxyRedirects` | `true` | Beta | 1.6 | 1.17 | +| `StreamingProxyRedirects` | `true` | Deprecated | 1.18 | 1.21 | +| `StreamingProxyRedirects` | `false` | Deprecated | 1.22 | 1.24 | +| `SupportIPVSProxyMode` | `false` | Alpha | 1.8 | 1.8 | +| `SupportIPVSProxyMode` | `false` | Beta | 1.9 | 1.9 | +| `SupportIPVSProxyMode` | `true` | Beta | 1.10 | 1.10 | +| `SupportIPVSProxyMode` | `true` | GA | 1.11 | 1.20 | +| `SupportNodePidsLimit` | `false` | Alpha | 1.14 | 1.14 | +| `SupportNodePidsLimit` | `true` | Beta | 1.15 | 1.19 | +| `SupportNodePidsLimit` | `true` | GA | 1.20 | 1.23 | +| `SupportPodPidsLimit` | `false` | Alpha | 1.10 | 1.13 | +| `SupportPodPidsLimit` | `true` | Beta | 1.14 | 1.19 | +| `SupportPodPidsLimit` | `true` | GA | 1.20 | 1.23 | +| `SuspendJob` | `false` | Alpha | 1.21 | 1.21 | +| `SuspendJob` | `true` | Beta | 1.22 | 1.23 | +| `SuspendJob` | `true` | GA | 1.24 | 1.25 | +| `Sysctls` | `true` | Beta | 1.11 | 1.20 | +| `Sysctls` | `true` | GA | 1.21 | 1.22 | +| `TTLAfterFinished` | `false` | Alpha | 1.12 | 1.20 | +| `TTLAfterFinished` | `true` | Beta | 1.21 | 1.22 | +| `TTLAfterFinished` | `true` | GA | 1.23 | 1.24 | +| `TaintBasedEvictions` | `false` | Alpha | 1.6 | 1.12 | +| `TaintBasedEvictions` | `true` | Beta | 1.13 | 1.17 | +| `TaintBasedEvictions` | `true` | GA | 1.18 | 1.20 | +| `TaintNodesByCondition` | `false` | Alpha | 1.8 | 1.11 | +| `TaintNodesByCondition` | `true` | Beta | 1.12 | 1.16 | +| `TaintNodesByCondition` | `true` | GA | 1.17 | 1.18 | +| `TokenRequest` | `false` | Alpha | 1.10 | 1.11 | +| `TokenRequest` | `true` | Beta | 1.12 | 1.19 | +| `TokenRequest` | `true` | GA | 1.20 | 1.21 | +| `TokenRequestProjection` | `false` | Alpha | 1.11 | 1.11 | +| `TokenRequestProjection` | `true` | Beta | 1.12 | 1.19 | +| `TokenRequestProjection` | `true` | GA | 1.20 | 1.21 | +| `TopologyManager` | `false` | Alpha | 1.16 | 1.17 | +| `TopologyManager` | `true` | Beta | 1.18 | 1.26 | +| `TopologyManager` | `true` | GA | 1.27 | 1.28 | +| `UserNamespacesStatelessPodsSupport` | `false` | Alpha | 1.25 | 1.27 | +| `ValidateProxyRedirects` | `false` | Alpha | 1.12 | 1.13 | +| `ValidateProxyRedirects` | `true` | Beta | 1.14 | 1.21 | +| `ValidateProxyRedirects` | `true` | Deprecated | 1.22 | 1.24 | +| `VolumePVCDataSource` | `false` | Alpha | 1.15 | 1.15 | +| `VolumePVCDataSource` | `true` | Beta | 1.16 | 1.17 | +| `VolumePVCDataSource` | `true` | GA | 1.18 | 1.21 | +| `VolumeScheduling` | `false` | Alpha | 1.9 | 1.9 | +| `VolumeScheduling` | `true` | Beta | 1.10 | 1.12 | +| `VolumeScheduling` | `true` | GA | 1.13 | 1.16 | +| `VolumeSnapshotDataSource` | `false` | Alpha | 1.12 | 1.16 | +| `VolumeSnapshotDataSource` | `true` | Beta | 1.17 | 1.19 | +| `VolumeSnapshotDataSource` | `true` | GA | 1.20 | 1.22 | +| `VolumeSubpath` | `true` | GA | 1.10 | 1.24 | +| `VolumeSubpathEnvExpansion` | `false` | Alpha | 1.14 | 1.14 | +| `VolumeSubpathEnvExpansion` | `true` | Beta | 1.15 | 1.16 | +| `VolumeSubpathEnvExpansion` | `true` | GA | 1.17 | 1.24 | +| `WarningHeaders` | `true` | Beta | 1.19 | 1.21 | +| `WarningHeaders` | `true` | GA | 1.22 | 1.24 | +| `WindowsEndpointSliceProxying` | `false` | Alpha | 1.19 | 1.20 | +| `WindowsEndpointSliceProxying` | `true` | Beta | 1.21 | 1.21 | +| `WindowsEndpointSliceProxying` | `true` | GA | 1.22| 1.24 | +| `WindowsGMSA` | `false` | Alpha | 1.14 | 1.15 | +| `WindowsGMSA` | `true` | Beta | 1.16 | 1.17 | +| `WindowsGMSA` | `true` | GA | 1.18 | 1.20 | +| `WindowsHostProcessContainers` | `false` | Alpha | 1.22 | 1.22 | +| `WindowsHostProcessContainers` | `true` | Beta | 1.23 | 1.25 | +| `WindowsHostProcessContainers` | `true` | GA | 1.26 | 1.27 | +| `WindowsRunAsUserName` | `false` | Alpha | 1.16 | 1.16 | +| `WindowsRunAsUserName` | `true` | Beta | 1.17 | 1.17 | +| `WindowsRunAsUserName` | `true` | GA | 1.18 | 1.20 | +{{< /table >}} + +## Descriptions for removed feature gates + +- {{< feature-gate-description name="Accelerators" >}} +- {{< feature-gate-description name="AffinityInAnnotations" >}} +- {{< feature-gate-description name="AdvancedAuditing" >}} +- {{< feature-gate-description name="AllowExtTrafficLocalEndpoints" >}} +- {{< feature-gate-description name="AllowInsecureBackendProxy" >}} +- {{< feature-gate-description name="AttachVolumeLimit" >}} +- {{< feature-gate-description name="BalanceAttachedNodeVolumes" >}} +- {{< feature-gate-description name="BlockVolume" >}} +- {{< feature-gate-description name="BoundServiceAccountTokenVolume" >}} +- {{< feature-gate-description name="CRIContainerLogRotation" >}} +- {{< feature-gate-description name="CSIBlockVolume" >}} +- {{< feature-gate-description name="CSIDriverRegistry" >}} +- {{< feature-gate-description name="CSIInlineVolume" >}} +- {{< feature-gate-description name="CSIMigration" >}} +- {{< feature-gate-description name="CSIMigrationAWS" >}} +- {{< feature-gate-description name="CSIMigrationAWSComplete" >}} +- {{< feature-gate-description name="CSIMigrationAzureDisk" >}} +- {{< feature-gate-description name="CSIMigrationAzureDiskComplete" >}} +- {{< feature-gate-description name="CSIMigrationAzureFileComplete" >}} +- {{< feature-gate-description name="CSIMigrationGCE" >}} +- {{< feature-gate-description name="CSIMigrationGCEComplete" >}} +- {{< feature-gate-description name="CSIMigrationOpenStack" >}} +- {{< feature-gate-description name="CSIMigrationOpenStackComplete" >}} +- {{< feature-gate-description name="CSIMigrationvSphereComplete" >}} +- {{< feature-gate-description name="CSINodeInfo" >}} +- {{< feature-gate-description name="CSIPersistentVolume" >}} +- {{< feature-gate-description name="CSIServiceAccountToken" >}} +- {{< feature-gate-description name="CSIStorageCapacity" >}} +- {{< feature-gate-description name="CSIVolumeFSGroupPolicy" >}} +- {{< feature-gate-description name="CSRDuration" >}} +- {{< feature-gate-description name="ConfigurableFSGroupPolicy" >}} +- {{< feature-gate-description name="ControllerManagerLeaderMigration" >}} +- {{< feature-gate-description name="CronJobControllerV2" >}} +- {{< feature-gate-description name="CronJobTimeZone" >}} +- {{< feature-gate-description name="CustomPodDNS" >}} +- {{< feature-gate-description name="CustomResourceDefaulting" >}} +- {{< feature-gate-description name="CustomResourcePublishOpenAPI" >}} +- {{< feature-gate-description name="CustomResourceSubresources" >}} +- {{< feature-gate-description name="CustomResourceValidation" >}} +- {{< feature-gate-description name="CustomResourceWebhookConversion" >}} +- {{< feature-gate-description name="DaemonSetUpdateSurge" >}} +- {{< feature-gate-description name="DefaultPodTopologySpread" >}} +- {{< feature-gate-description name="DelegateFSGroupToCSIDriver" >}} +- {{< feature-gate-description name="DevicePlugins" >}} +- {{< feature-gate-description name="DisableAcceleratorUsageMetrics" >}} +- {{< feature-gate-description name="DownwardAPIHugePages" >}} +- {{< feature-gate-description name="DryRun" >}} +- {{< feature-gate-description name="DynamicAuditing" >}} +- {{< feature-gate-description name="DynamicKubeletConfig" >}} +- {{< feature-gate-description name="DynamicProvisioningScheduling" >}} +- {{< feature-gate-description name="DynamicVolumeProvisioning" >}} +- {{< feature-gate-description name="EnableAggregatedDiscoveryTimeout" >}} +- {{< feature-gate-description name="EnableEquivalenceClassCache" >}} +- {{< feature-gate-description name="EndpointSlice" >}} +- {{< feature-gate-description name="EndpointSliceNodeName" >}} +- {{< feature-gate-description name="EndpointSliceProxying" >}} +- {{< feature-gate-description name="EndpointSliceTerminatingCondition" >}} +- {{< feature-gate-description name="EphemeralContainers" >}} +- {{< feature-gate-description name="EvenPodsSpread" >}} +- {{< feature-gate-description name="ExpandCSIVolumes" >}} +- {{< feature-gate-description name="ExpandInUsePersistentVolumes" >}} +- {{< feature-gate-description name="ExpandPersistentVolumes" >}} +- {{< feature-gate-description name="ExperimentalCriticalPodAnnotation" >}} +- {{< feature-gate-description name="ExternalPolicyForExternalIP" >}} +- {{< feature-gate-description name="GCERegionalPersistentDisk" >}} +- {{< feature-gate-description name="GRPCContainerProbe" >}} +- {{< feature-gate-description name="GenericEphemeralVolume" >}} +- {{< feature-gate-description name="HugePageStorageMediumSize" >}} +- {{< feature-gate-description name="HugePages" >}} +- {{< feature-gate-description name="HyperVContainer" >}} +- {{< feature-gate-description name="IPv6DualStack" >}} +- {{< feature-gate-description name="IdentifyPodOS" >}} +- {{< feature-gate-description name="ImmutableEphemeralVolumes" >}} +- {{< feature-gate-description name="IndexedJob" >}} +- {{< feature-gate-description name="IngressClassNamespacedParams" >}} +- {{< feature-gate-description name="Initializers" >}} +- {{< feature-gate-description name="JobMutableNodeSchedulingDirectives" >}} +- {{< feature-gate-description name="KubeletConfigFile" >}} +- {{< feature-gate-description name="KubeletCredentialProviders" >}} +- {{< feature-gate-description name="KubeletPluginsWatcher" >}} +- {{< feature-gate-description name="LegacyNodeRoleBehavior" >}} +- {{< feature-gate-description name="LegacyServiceAccountTokenNoAutoGeneration" >}} +- {{< feature-gate-description name="LocalStorageCapacityIsolation" >}} +- {{< feature-gate-description name="MixedProtocolLBService" >}} +- {{< feature-gate-description name="MountContainers" >}} +- {{< feature-gate-description name="MountPropagation" >}} +- {{< feature-gate-description name="NamespaceDefaultLabelName" >}} +- {{< feature-gate-description name="NetworkPolicyStatus" >}} +- {{< feature-gate-description name="NodeDisruptionExclusion" >}} +- {{< feature-gate-description name="NodeLease" >}} +- {{< feature-gate-description name="NonPreemptingPriority" >}} +- {{< feature-gate-description name="PVCProtection" >}} +- {{< feature-gate-description name="PersistentLocalVolumes" >}} +- {{< feature-gate-description name="PodAffinityNamespaceSelector" >}} +- {{< feature-gate-description name="PodDisruptionBudget" >}} +- {{< feature-gate-description name="PodHasNetworkCondition" >}} +- {{< feature-gate-description name="PodOverhead" >}} +- {{< feature-gate-description name="PodPriority" >}} +- {{< feature-gate-description name="PodReadinessGates" >}} +- {{< feature-gate-description name="PodSecurity" >}} +- {{< feature-gate-description name="PodShareProcessNamespace" >}} +- {{< feature-gate-description name="PreferNominatedNode" >}} +- {{< feature-gate-description name="RequestManagement" >}} +- {{< feature-gate-description name="ResourceLimitsPriorityFunction" >}} +- {{< feature-gate-description name="ResourceQuotaScopeSelectors" >}} +- {{< feature-gate-description name="RetroactiveDefaultStorageClass" >}} +- {{< feature-gate-description name="RootCAConfigMap" >}} +- {{< feature-gate-description name="RotateKubeletClientCertificate" >}} +- {{< feature-gate-description name="RunAsGroup" >}} +- {{< feature-gate-description name="RuntimeClass" >}} +- {{< feature-gate-description name="SCTPSupport" >}} +- {{< feature-gate-description name="ScheduleDaemonSetPods" >}} +- {{< feature-gate-description name="SelectorIndex" >}} +- {{< feature-gate-description name="ServiceAccountIssuerDiscovery" >}} +- {{< feature-gate-description name="ServiceAppProtocol" >}} +- {{< feature-gate-description name="ServiceIPStaticSubrange" >}} +- {{< feature-gate-description name="ServiceInternalTrafficPolicy" >}} +- {{< feature-gate-description name="ServiceLoadBalancerClass" >}} +- {{< feature-gate-description name="ServiceLoadBalancerFinalizer" >}} +- {{< feature-gate-description name="ServiceLBNodePortControl" >}} +- {{< feature-gate-description name="ServiceNodeExclusion" >}} +- {{< feature-gate-description name="ServiceTopology" >}} +- {{< feature-gate-description name="SetHostnameAsFQDN" >}} +- {{< feature-gate-description name="StartupProbe" >}} +- {{< feature-gate-description name="StatefulSetMinReadySeconds" >}} +- {{< feature-gate-description name="StorageObjectInUseProtection" >}} +- {{< feature-gate-description name="StreamingProxyRedirects" >}} +- {{< feature-gate-description name="SupportIPVSProxyMode" >}} +- {{< feature-gate-description name="SupportNodePidsLimit" >}} +- {{< feature-gate-description name="SupportPodPidsLimit" >}} +- {{< feature-gate-description name="SuspendJob" >}} +- {{< feature-gate-description name="Sysctls" >}} +- {{< feature-gate-description name="TTLAfterFinished" >}} +- {{< feature-gate-description name="TaintBasedEvictions" >}} +- {{< feature-gate-description name="TaintNodesByCondition" >}} +- {{< feature-gate-description name="TokenRequest" >}} +- {{< feature-gate-description name="TokenRequestProjection" >}} +- {{< feature-gate-description name="TopologyManager" >}} +- {{< feature-gate-description name="UserNamespacesStatelessPodsSupport" >}} +- {{< feature-gate-description name="ValidateProxyRedirects" >}} +- {{< feature-gate-description name="VolumePVCDataSource" >}} +- {{< feature-gate-description name="VolumeScheduling" >}} +- {{< feature-gate-description name="VolumeSnapshotDataSource" >}} +- {{< feature-gate-description name="VolumeSubpath" >}} +- {{< feature-gate-description name="VolumeSubpathEnvExpansion" >}} +- {{< feature-gate-description name="WarningHeaders" >}} +- {{< feature-gate-description name="WindowsEndpointSliceProxying" >}} +- {{< feature-gate-description name="WindowsGMSA" >}} +- {{< feature-gate-description name="WindowsHostProcessContainers" >}} +- {{< feature-gate-description name="WindowsRunAsUserName" >}} 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 deleted file mode 100644 index 3f118e64a8..0000000000 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ /dev/null @@ -1,844 +0,0 @@ ---- -title: Feature Gates -weight: 10 -content_type: concept -card: - name: reference - weight: 60 ---- - - -This page contains an overview of the various feature gates an administrator -can specify on different Kubernetes components. - -See [feature stages](#feature-stages) for an explanation of the stages for a feature. - - -## Overview - -Feature gates are a set of key=value pairs that describe Kubernetes features. -You can turn these features on or off using the `--feature-gates` command line flag -on each Kubernetes component. - -Each Kubernetes component lets you enable or disable a set of feature gates that -are relevant to that component. -Use `-h` flag to see a full set of feature gates for all components. -To set feature gates for a component, such as kubelet, use the `--feature-gates` -flag assigned to a list of feature pairs: - -```shell ---feature-gates=...,GracefulNodeShutdown=true -``` - -The following tables are a summary of the feature gates that you can set on -different Kubernetes components. - -- The "Since" column contains the Kubernetes release when a feature is introduced - or its release stage is changed. -- The "Until" column, if not empty, contains the last Kubernetes release in which - you can still use a feature gate. -- If a feature is in the Alpha or Beta state, you can find the feature listed - in the [Alpha/Beta feature gate table](#feature-gates-for-alpha-or-beta-features). -- If a feature is stable you can find all stages for that feature listed in the - [Graduated/Deprecated feature gate table](#feature-gates-for-graduated-or-deprecated-features). -- The [Graduated/Deprecated feature gate table](#feature-gates-for-graduated-or-deprecated-features) - also lists deprecated and withdrawn features. - -{{< note >}} -For a reference to old feature gates that are removed, please refer to -[feature gates removed](/docs/reference/command-line-tools-reference/feature-gates-removed/). -{{< /note >}} - -### Feature gates for Alpha or Beta features - -{{< table caption="Feature gates for features in Alpha or Beta states" sortable="true" >}} - -| Feature | Default | Stage | Since | Until | -|---------|---------|-------|-------|-------| -| `APIPriorityAndFairness` | `false` | Alpha | 1.18 | 1.19 | -| `APIPriorityAndFairness` | `true` | Beta | 1.20 | | -| `APIResponseCompression` | `false` | Alpha | 1.7 | 1.15 | -| `APIResponseCompression` | `true` | Beta | 1.16 | | -| `APIServerIdentity` | `false` | Alpha | 1.20 | 1.25 | -| `APIServerIdentity` | `true` | Beta | 1.26 | | -| `APIServerTracing` | `false` | Alpha | 1.22 | 1.26 | -| `APIServerTracing` | `true` | Beta | 1.27 | | -| `AdmissionWebhookMatchConditions` | `false` | Alpha | 1.27 | 1.27 | -| `AdmissionWebhookMatchConditions` | `true` | Beta | 1.28 | | -| `AggregatedDiscoveryEndpoint` | `false` | Alpha | 1.26 | 1.26 | -| `AggregatedDiscoveryEndpoint` | `true` | Beta | 1.27 | | -| `AnyVolumeDataSource` | `false` | Alpha | 1.18 | 1.23 | -| `AnyVolumeDataSource` | `true` | Beta | 1.24 | | -| `AppArmor` | `true` | Beta | 1.4 | | -| `CPUManagerPolicyAlphaOptions` | `false` | Alpha | 1.23 | | -| `CPUManagerPolicyBetaOptions` | `true` | Beta | 1.23 | | -| `CPUManagerPolicyOptions` | `false` | Alpha | 1.22 | 1.22 | -| `CPUManagerPolicyOptions` | `true` | Beta | 1.23 | | -| `CRDValidationRatcheting` | `false` | Alpha | 1.28 | | -| `CSIMigrationPortworx` | `false` | Alpha | 1.23 | 1.24 | -| `CSIMigrationPortworx` | `false` | Beta | 1.25 | | -| `CSIVolumeHealth` | `false` | Alpha | 1.21 | | -| `CloudControllerManagerWebhook` | `false` | Alpha | 1.27 | | -| `CloudDualStackNodeIPs` | `false` | Alpha | 1.27 | 1.28 | -| `CloudDualStackNodeIPs` | `true` | Beta | 1.29 | | -| `ClusterTrustBundle` | false | Alpha | 1.27 | | -| `ClusterTrustBundleProjection` | `false` | Alpha | 1.29 | | -| `ComponentSLIs` | `false` | Alpha | 1.26 | 1.26 | -| `ComponentSLIs` | `true` | Beta | 1.27 | | -| `ConsistentListFromCache` | `false` | Alpha | 1.28 | | -| `ContainerCheckpoint` | `false` | Alpha | 1.25 | | -| `ContextualLogging` | `false` | Alpha | 1.24 | | -| `CronJobsScheduledAnnotation` | `true` | Beta | 1.28 | | -| `CrossNamespaceVolumeDataSource` | `false` | Alpha| 1.26 | | -| `CustomCPUCFSQuotaPeriod` | `false` | Alpha | 1.12 | | -| `DevicePluginCDIDevices` | `false` | Alpha | 1.28 | | -| `DisableCloudProviders` | `false` | Alpha | 1.22 | | -| `DisableKubeletCloudCredentialProviders` | `false` | Alpha | 1.23 | | -| `DisableNodeKubeProxyVersion` | `false` | Alpha | 1.29 | | -| `DynamicResourceAllocation` | `false` | Alpha | 1.26 | | -| `ElasticIndexedJob` | `true` | Beta | 1.27 | | -| `EventedPLEG` | `false` | Alpha | 1.26 | 1.26 | -| `EventedPLEG` | `false` | Beta | 1.27 | | -| `GracefulNodeShutdown` | `false` | Alpha | 1.20 | 1.20 | -| `GracefulNodeShutdown` | `true` | Beta | 1.21 | | -| `GracefulNodeShutdownBasedOnPodPriority` | `false` | Alpha | 1.23 | 1.23 | -| `GracefulNodeShutdownBasedOnPodPriority` | `true` | Beta | 1.24 | | -| `HPAContainerMetrics` | `false` | Alpha | 1.20 | 1.26 | -| `HPAContainerMetrics` | `true` | Beta | 1.27 | | -| `HPAScaleToZero` | `false` | Alpha | 1.16 | | -| `HonorPVReclaimPolicy` | `false` | Alpha | 1.23 | | -| `InPlacePodVerticalScaling` | `false` | Alpha | 1.27 | | -| `InTreePluginAWSUnregister` | `false` | Alpha | 1.21 | | -| `InTreePluginAzureDiskUnregister` | `false` | Alpha | 1.21 | | -| `InTreePluginAzureFileUnregister` | `false` | Alpha | 1.21 | | -| `InTreePluginGCEUnregister` | `false` | Alpha | 1.21 | | -| `InTreePluginOpenStackUnregister` | `false` | Alpha | 1.21 | | -| `InTreePluginPortworxUnregister` | `false` | Alpha | 1.23 | | -| `InTreePluginvSphereUnregister` | `false` | Alpha | 1.21 | | -| `JobBackoffLimitPerIndex` | `false` | Alpha | 1.28 | 1.28 | -| `JobBackoffLimitPerIndex` | `true` | Beta | 1.29 | | -| `JobPodFailurePolicy` | `false` | Alpha | 1.25 | 1.25 | -| `JobPodFailurePolicy` | `true` | Beta | 1.26 | | -| `JobPodReplacementPolicy` | `false` | Alpha | 1.28 | 1.28 | -| `JobPodReplacementPolicy` | `true` | Beta | 1.29 | | -| `KubeProxyDrainingTerminatingNodes` | `false` | Alpha | 1.28 | | -| `KubeletCgroupDriverFromCRI` | `false` | Alpha | 1.28 | | -| `KubeletInUserNamespace` | `false` | Alpha | 1.22 | | -| `KubeletPodResourcesDynamicResources` | `false` | Alpha | 1.27 | | -| `KubeletPodResourcesGet` | `false` | Alpha | 1.27 | | -| `KubeletTracing` | `false` | Alpha | 1.25 | 1.26 | -| `KubeletTracing` | `true` | Beta | 1.27 | | -| `LegacyServiceAccountTokenCleanUp` | `false` | Alpha | 1.28 | 1.28 | -| `LegacyServiceAccountTokenCleanUp` | `true` | Beta | 1.29 | | -| `LoadBalancerIPMode` | `false` | Alpha | 1.29 | | -| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `false` | Alpha | 1.15 | - | -| `LogarithmicScaleDown` | `false` | Alpha | 1.21 | 1.21 | -| `LogarithmicScaleDown` | `true` | Beta | 1.22 | | -| `LoggingAlphaOptions` | `false` | Alpha | 1.24 | - | -| `LoggingBetaOptions` | `true` | Beta | 1.24 | - | -| `MatchLabelKeysInPodAffinity` | `false` | Alpha | 1.29 | - | -| `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 | | -| `MemoryQoS` | `false` | Alpha | 1.22 | | -| `MinDomainsInPodTopologySpread` | `false` | Alpha | 1.24 | 1.24 | -| `MinDomainsInPodTopologySpread` | `false` | Beta | 1.25 | 1.26 | -| `MinDomainsInPodTopologySpread` | `true` | Beta | 1.27 | | -| `MultiCIDRServiceAllocator` | `false` | Alpha | 1.27 | | -| `NewVolumeManagerReconstruction` | `false` | Beta | 1.27 | 1.27 | -| `NewVolumeManagerReconstruction` | `true` | Beta | 1.28 | | -| `NodeInclusionPolicyInPodTopologySpread` | `false` | Alpha | 1.25 | 1.25 | -| `NodeInclusionPolicyInPodTopologySpread` | `true` | Beta | 1.26 | | -| `NodeLogQuery` | `false` | Alpha | 1.27 | | -| `NodeSwap` | `false` | Alpha | 1.22 | 1.27 | -| `NodeSwap` | `false` | Beta | 1.28 | | -| `OpenAPIEnums` | `false` | Alpha | 1.23 | 1.23 | -| `OpenAPIEnums` | `true` | Beta | 1.24 | | -| `PDBUnhealthyPodEvictionPolicy` | `false` | Alpha | 1.26 | 1.26 | -| `PDBUnhealthyPodEvictionPolicy` | `true` | Beta | 1.27 | | -| `PersistentVolumeLastPhaseTransistionTime` | `false` | Alpha | 1.28 | 1.28 | -| `PersistentVolumeLastPhaseTransistionTime` | `true` | Beta | 1.29 | | -| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | | -| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 | -| `PodDeletionCost` | `true` | Beta | 1.22 | | -| `PodDisruptionConditions` | `false` | Alpha | 1.25 | 1.25 | -| `PodDisruptionConditions` | `true` | Beta | 1.26 | | -| `PodHostIPs` | `false` | Alpha | 1.28 | 1.28 | -| `PodHostIPs` | `true` | Beta | 1.29 | | -| `PodIndexLabel` | `true` | Beta | 1.28 | | -| `PodLifecycleSleepAction` | `false` | Alpha | 1.29 | | -| `PodReadyToStartContainersCondition` | `false` | Alpha | 1.28 | 1.28 | -| `PodReadyToStartContainersCondition` | `true` | Beta | 1.29 | | -| `PodSchedulingReadiness` | `false` | Alpha | 1.26 | 1.26 | -| `PodSchedulingReadiness` | `true` | Beta | 1.27 | | -| `ProcMountType` | `false` | Alpha | 1.12 | | -| `QOSReserved` | `false` | Alpha | 1.11 | | -| `RecoverVolumeExpansionFailure` | `false` | Alpha | 1.23 | | -| `RemainingItemCount` | `false` | Alpha | 1.15 | 1.15 | -| `RemainingItemCount` | `true` | Beta | 1.16 | | -| `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | 1.11 | -| `RotateKubeletServerCertificate` | `true` | Beta | 1.12 | | -| `RuntimeClassInImageCriApi` | `false` | Alpha | 1.29 | | -| `SELinuxMountReadWriteOncePod` | `false` | Alpha | 1.25 | 1.26 | -| `SELinuxMountReadWriteOncePod` | `false` | Beta | 1.27 | 1.27 | -| `SELinuxMountReadWriteOncePod` | `true` | Beta | 1.28 | | -| `SchedulerQueueingHints` | `true` | Beta | 1.28 | 1.28 | -| `SchedulerQueueingHints` | `false` | Beta | 1.29 | | -| `SecurityContextDeny` | `false` | Alpha | 1.27 | | -| `SeparateTaintEvictionController` | `true` | Beta | 1.29 | | -| `ServiceAccountTokenJTI` | `false` | Alpha | 1.29 | | -| `ServiceAccountTokenNodeBinding` | `false` | Alpha | 1.29 | | -| `ServiceAccountTokenNodeBindingValidation` | `false` | Alpha | 1.29 | | -| `ServiceAccountTokenPodNodeInfo` | `false` | Alpha | 1.29 | | -| `SidecarContainers` | `false` | Alpha | 1.28 | 1.28 | -| `SidecarContainers` | `true` | Beta | 1.29 | | -| `SizeMemoryBackedVolumes` | `false` | Alpha | 1.20 | 1.21 | -| `SizeMemoryBackedVolumes` | `true` | Beta | 1.22 | | -| `StableLoadBalancerNodeSet` | `true` | Beta | 1.27 | | -| `StatefulSetAutoDeletePVC` | `false` | Alpha | 1.23 | 1.26 | -| `StatefulSetAutoDeletePVC` | `false` | Beta | 1.27 | | -| `StatefulSetStartOrdinal` | `false` | Alpha | 1.26 | 1.26 | -| `StatefulSetStartOrdinal` | `true` | Beta | 1.27 | | -| `StorageVersionAPI` | `false` | Alpha | 1.20 | | -| `StorageVersionHash` | `false` | Alpha | 1.14 | 1.14 | -| `StorageVersionHash` | `true` | Beta | 1.15 | | -| `TopologyAwareHints` | `false` | Alpha | 1.21 | 1.22 | -| `TopologyAwareHints` | `false` | Beta | 1.23 | 1.23 | -| `TopologyAwareHints` | `true` | Beta | 1.24 | | -| `TopologyManagerPolicyAlphaOptions` | `false` | Alpha | 1.26 | | -| `TopologyManagerPolicyBetaOptions` | `false` | Beta | 1.26 | 1.27 | -| `TopologyManagerPolicyBetaOptions` | `true` | Beta | 1.28 | | -| `TopologyManagerPolicyOptions` | `false` | Alpha | 1.26 | 1.27 | -| `TopologyManagerPolicyOptions` | `true` | Beta | 1.28 | | -| `TranslateStreamCloseWebsocketRequests` | `false` | Alpha | 1.29 | | -| `UnauthenticatedHTTP2DOSMitigation` | `false` | Beta | 1.28 | | -| `UnauthenticatedHTTP2DOSMitigation` | `true` | Beta | 1.29 | | -| `UnknownVersionInteroperabilityProxy` | `false` | Alpha | 1.28 | | -| `UserNamespacesPodSecurityStandards` | `false` | Alpha | 1.29 | | -| `UserNamespacesSupport` | `false` | Alpha | 1.28 | | -| `ValidatingAdmissionPolicy` | `false` | Alpha | 1.26 | 1.27 | -| `ValidatingAdmissionPolicy` | `false` | Beta | 1.28 | | -| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | | -| `VolumeAttributesClass` | `false` | Alpha | 1.29 | | -| `WatchList` | `false` | Alpha | 1.27 | | -| `WinDSR` | `false` | Alpha | 1.14 | | -| `WinOverlay` | `false` | Alpha | 1.14 | 1.19 | -| `WinOverlay` | `true` | Beta | 1.20 | | -| `WindowsHostNetwork` | `true` | Alpha | 1.26 | | -{{< /table >}} - -### Feature gates for graduated or deprecated features - -{{< table caption="Feature Gates for Graduated or Deprecated Features" sortable="true">}} - -| Feature | Default | Stage | Since | Until | -|---------|---------|-------|-------|-------| -| `APIListChunking` | `false` | Alpha | 1.8 | 1.8 | -| `APIListChunking` | `true` | Beta | 1.9 | 1.28 | -| `APIListChunking` | `true` | GA | 1.29 | - | -| `APISelfSubjectReview` | `false` | Alpha | 1.26 | 1.26 | -| `APISelfSubjectReview` | `true` | Beta | 1.27 | 1.27 | -| `APISelfSubjectReview` | `true` | GA | 1.28 | - | -| `CPUManager` | `false` | Alpha | 1.8 | 1.9 | -| `CPUManager` | `true` | Beta | 1.10 | 1.25 | -| `CPUManager` | `true` | GA | 1.26 | - | -| `CSIMigrationAzureFile` | `false` | Alpha | 1.15 | 1.20 | -| `CSIMigrationAzureFile` | `false` | Beta | 1.21 | 1.23 | -| `CSIMigrationAzureFile` | `true` | Beta | 1.24 | 1.25 | -| `CSIMigrationAzureFile` | `true` | GA | 1.26 | | -| `CSIMigrationRBD` | `false` | Alpha | 1.23 | 1.27 | -| `CSIMigrationRBD` | `false` | Deprecated | 1.28 | | -| `CSIMigrationvSphere` | `false` | Alpha | 1.18 | 1.18 | -| `CSIMigrationvSphere` | `false` | Beta | 1.19 | 1.24 | -| `CSIMigrationvSphere` | `true` | Beta | 1.25 | 1.25 | -| `CSIMigrationvSphere` | `true` | GA | 1.26 | - | -| `CSINodeExpandSecret` | `false` | Alpha | 1.25 | 1.26 | -| `CSINodeExpandSecret` | `true` | Beta | 1.27 | 1.28 | -| `CSINodeExpandSecret` | `true` | GA | 1.29 | | -| `ComponentSLIs` | `false` | Alpha | 1.26 | 1.26 | -| `ComponentSLIs` | `true` | Beta | 1.27 | 1.28| -| `ComponentSLIs` | `true` | GA | 1.29 | - | -| `ConsistentHTTPGetHandlers` | `true` | GA | 1.25 | - | -| `CustomResourceValidationExpressions` | `false` | Alpha | 1.23 | 1.24 | -| `CustomResourceValidationExpressions` | `true` | Beta | 1.25 | 1.28 | -| `CustomResourceValidationExpressions` | `true` | GA | 1.29 | - | -| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | -| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | -| `DaemonSetUpdateSurge` | `true` | GA | 1.25 | | -| `DefaultHostNetworkHostPortsInPodTemplates` | `false` | Deprecated | 1.28 | | -| `EfficientWatchResumption` | `false` | Alpha | 1.20 | 1.20 | -| `EfficientWatchResumption` | `true` | Beta | 1.21 | 1.23 | -| `EfficientWatchResumption` | `true` | GA | 1.24 | | -| `ExecProbeTimeout` | `true` | GA | 1.20 | | -| `ExpandedDNSConfig` | `false` | Alpha | 1.22 | 1.25 | -| `ExpandedDNSConfig` | `true` | Beta | 1.26 | 1.27 | -| `ExpandedDNSConfig` | `true` | GA | 1.28 | | -| `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | 1.27 | -| `ExperimentalHostUserNamespaceDefaulting` | `false` | Deprecated | 1.28 | | -| `IPTablesOwnershipCleanup` | `false` | Alpha | 1.25 | 1.26 | -| `IPTablesOwnershipCleanup` | `true` | Beta | 1.27 | 1.27 | -| `IPTablesOwnershipCleanup` | `true` | GA | 1.28 | | -| `InTreePluginRBDUnregister` | `false` | Alpha | 1.23 | 1.27 | -| `InTreePluginRBDUnregister` | `false` | Deprecated | 1.28 | | -| `JobReadyPods` | `false` | Alpha | 1.23 | 1.23 | -| `JobReadyPods` | `true` | Beta | 1.24 | 1.28 | -| `JobReadyPods` | `true` | GA | 1.29 | | -| `JobTrackingWithFinalizers` | `false` | Alpha | 1.22 | 1.22 | -| `JobTrackingWithFinalizers` | `false` | Beta | 1.23 | 1.24 | -| `JobTrackingWithFinalizers` | `true` | Beta | 1.25 | 1.25 | -| `JobTrackingWithFinalizers` | `true` | GA | 1.26 | | -| `KMSv1` | `true` | Deprecated | 1.28 | 1.28 | -| `KMSv1` | `false` | Deprecated | 1.29 | | -| `KMSv2` | `false` | Alpha | 1.25 | 1.26 | -| `KMSv2` | `true` | Beta | 1.27 | 1.28 | -| `KMSv2` | `true` | GA | 1.29 | | -| `KMSv2KDF` | `false` | Beta | 1.28 | 1.28 | -| `KMSv2KDF` | `true` | GA | 1.29 | | -| `KubeletPodResources` | `false` | Alpha | 1.13 | 1.14 | -| `KubeletPodResources` | `true` | Beta | 1.15 | 1.27 | -| `KubeletPodResources` | `true` | GA | 1.28 | | -| `KubeletPodResourcesGetAllocatable` | `false` | Alpha | 1.21 | 1.22 | -| `KubeletPodResourcesGetAllocatable` | `true` | Beta | 1.23 | 1.27 | -| `KubeletPodResourcesGetAllocatable` | `true` | GA | 1.28 | | -| `LegacyServiceAccountTokenTracking` | `false` | Alpha | 1.26 | 1.26 | -| `LegacyServiceAccountTokenTracking` | `true` | Beta | 1.27 | 1.27 | -| `LegacyServiceAccountTokenTracking` | `true` | GA | 1.28 | | -| `MinimizeIPTablesRestore` | `false` | Alpha | 1.26 | 1.26 | -| `MinimizeIPTablesRestore` | `true` | Beta | 1.27 | 1.27 | -| `MinimizeIPTablesRestore` | `true` | GA | 1.28 | | -| `NodeOutOfServiceVolumeDetach` | `false` | Alpha | 1.24 | 1.25 | -| `NodeOutOfServiceVolumeDetach` | `true` | Beta | 1.26 | 1.27 | -| `NodeOutOfServiceVolumeDetach` | `true` | GA | 1.28 | | -| `OpenAPIV3` | `false` | Alpha | 1.23 | 1.23 | -| `OpenAPIV3` | `true` | Beta | 1.24 | 1.26 | -| `OpenAPIV3` | `true` | GA | 1.27 | | -| `ProbeTerminationGracePeriod` | `false` | Alpha | 1.21 | 1.21 | -| `ProbeTerminationGracePeriod` | `false` | Beta | 1.22 | 1.24 | -| `ProbeTerminationGracePeriod` | `true` | Beta | 1.25 | 1.27 | -| `ProbeTerminationGracePeriod` | `true` | GA | 1.28 | | -| `ProxyTerminatingEndpoints` | `false` | Alpha | 1.22 | 1.25 | -| `ProxyTerminatingEndpoints` | `true` | Beta | 1.26 | 1.27 | -| `ProxyTerminatingEndpoints` | `true` | GA | 1.28 | | -| `ReadWriteOncePod` | `false` | Alpha | 1.22 | 1.26 | -| `ReadWriteOncePod` | `true` | Beta | 1.27 | 1.28 | -| `ReadWriteOncePod` | `true` | GA | 1.29 | | -| `RemoveSelfLink` | `false` | Alpha | 1.16 | 1.19 | -| `RemoveSelfLink` | `true` | Beta | 1.20 | 1.23 | -| `RemoveSelfLink` | `true` | GA | 1.24 | | -| `SeccompDefault` | `false` | Alpha | 1.22 | 1.24 | -| `SeccompDefault` | `true` | Beta | 1.25 | 1.26 | -| `SeccompDefault` | `true` | GA | 1.27 | - | -| `ServerSideApply` | `false` | Alpha | 1.14 | 1.15 | -| `ServerSideApply` | `true` | Beta | 1.16 | 1.21 | -| `ServerSideApply` | `true` | GA | 1.22 | - | -| `ServerSideFieldValidation` | `false` | Alpha | 1.23 | 1.24 | -| `ServerSideFieldValidation` | `true` | Beta | 1.25 | 1.26 | -| `ServerSideFieldValidation` | `true` | GA | 1.27 | - | -| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 | -| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | 1.25 | -| `ServiceIPStaticSubrange` | `true` | GA | 1.26 | - | -| `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 | -| `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | 1.25 | -| `ServiceInternalTrafficPolicy` | `true` | GA | 1.26 | - | -| `ServiceNodePortStaticSubrange` | `false` | Alpha | 1.27 | 1.27 | -| `ServiceNodePortStaticSubrange` | `true` | Beta | 1.28 | 1.28 | -| `ServiceNodePortStaticSubrange` | `true` | GA | 1.29 | - | -| `SkipReadOnlyValidationGCE` | `false` | Alpha | 1.28 | 1.28 | -| `SkipReadOnlyValidationGCE` | `true` | Deprecated | 1.29 | | -| `WatchBookmark` | `false` | Alpha | 1.15 | 1.15 | -| `WatchBookmark` | `true` | Beta | 1.16 | 1.16 | -| `WatchBookmark` | `true` | GA | 1.17 | - | -{{< /table >}} - -## Using a feature - -### Feature stages - -A feature can be in *Alpha*, *Beta* or *GA* stage. -An *Alpha* feature means: - -* Disabled by default. -* Might be buggy. Enabling the feature may expose bugs. -* Support for feature may be dropped at any time without notice. -* The API may change in incompatible ways in a later software release without notice. -* Recommended for use only in short-lived testing clusters, due to increased - risk of bugs and lack of long-term support. - -A *Beta* feature means: - -* Usually enabled by default. Beta API groups are - [disabled by default](https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3136-beta-apis-off-by-default). -* The feature is well tested. Enabling the feature is considered safe. -* Support for the overall feature will not be dropped, though details may change. -* The schema and/or semantics of objects may change in incompatible ways in a - subsequent beta or stable release. When this happens, we will provide instructions - for migrating to the next version. This may require deleting, editing, and - re-creating API objects. The editing process may require some thought. - This may require downtime for applications that rely on the feature. -* Recommended for only non-business-critical uses because of potential for - incompatible changes in subsequent releases. If you have multiple clusters - that can be upgraded independently, you may be able to relax this restriction. - -{{< note >}} -Please do try *Beta* features and give feedback on them! -After they exit beta, it may not be practical for us to make more changes. -{{< /note >}} - -A *General Availability* (GA) feature is also referred to as a *stable* feature. It means: - -* The feature is always enabled; you cannot disable it. -* The corresponding feature gate is no longer needed. -* Stable versions of features will appear in released software for many subsequent versions. - -## List of feature gates {#feature-gates} - -Each feature gate is designed for enabling/disabling a specific feature: - -- `AdmissionWebhookMatchConditions`: Enable [match conditions](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchconditions) - on mutating & validating admission webhooks. -- `APIListChunking`: Enable the API clients to retrieve (`LIST` or `GET`) - resources from API server in chunks. -- `APIPriorityAndFairness`: Enable managing request concurrency with - prioritization and fairness at each server. (Renamed from `RequestManagement`) -- `APIResponseCompression`: Compress the API responses for `LIST` or `GET` requests. -- `APISelfSubjectReview`: Activate the `SelfSubjectReview` API which allows users - to see the requesting subject's authentication information. - See [API access to authentication information for a client](/docs/reference/access-authn-authz/authentication/#self-subject-review) - for more details. -- `APIServerIdentity`: Assign each API server an ID in a cluster, using a [Lease](/docs/concepts/architecture/leases). -- `APIServerTracing`: Add support for distributed tracing in the API server. - See [Traces for Kubernetes System Components](/docs/concepts/cluster-administration/system-traces) for more details. -- `AggregatedDiscoveryEndpoint`: Enable a single HTTP endpoint `/discovery/` which - supports native HTTP caching with ETags containing all APIResources known to the API server. -- `AnyVolumeDataSource`: Enable use of any custom resource as the `DataSource` of a - {{< glossary_tooltip text="PVC" term_id="persistent-volume-claim" >}}. -- `AppArmor`: Enable use of AppArmor mandatory access control for Pods running on Linux nodes. - See [AppArmor Tutorial](/docs/tutorials/security/apparmor/) for more details. -- `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, - experimental, Alpha-quality options. - This feature gate guards *a group* of CPUManager options whose quality level is alpha. - This feature gate will never graduate to beta or stable. -- `CPUManagerPolicyBetaOptions`: This allows fine-tuning of CPUManager policies, - experimental, Beta-quality options. - This feature gate guards *a group* of CPUManager options whose quality level is beta. - This feature gate will never graduate to stable. -- `CPUManagerPolicyOptions`: Allow fine-tuning of CPUManager policies. -- `CSIMigrationAzureFile`: Enables shims and translation logic to route volume - operations from the Azure-File in-tree plugin to AzureFile CSI plugin. - Supports falling back to in-tree AzureFile plugin for mount operations to - nodes that have the feature disabled or that do not have AzureFile CSI plugin - installed and configured. Does not support falling back for provision - operations, for those the CSI plugin must be installed and configured. - Requires CSIMigration feature flag enabled. -- `CSIMigrationRBD`: Enables shims and translation logic to route volume - operations from the RBD in-tree plugin to Ceph RBD CSI plugin. Requires - CSIMigration and csiMigrationRBD feature flags enabled and Ceph CSI plugin - installed and configured in the cluster. This flag has been deprecated in - favor of the `InTreePluginRBDUnregister` feature flag which prevents the registration of - in-tree RBD plugin. -- `CSIMigrationvSphere`: Enables shims and translation logic to route volume operations - from the vSphere in-tree plugin to vSphere CSI plugin. Supports falling back - to in-tree vSphere plugin for mount operations to nodes that have the feature - disabled or that do not have vSphere CSI plugin installed and configured. - Does not support falling back for provision operations, for those the CSI - plugin must be installed and configured. Requires CSIMigration feature flag - enabled. -- `CSIMigrationPortworx`: Enables shims and translation logic to route volume operations - from the Portworx in-tree plugin to Portworx CSI plugin. - Requires Portworx CSI driver to be installed and configured in the cluster. -- `CSINodeExpandSecret`: Enable passing secret authentication data to a CSI driver for use - during a `NodeExpandVolume` CSI operation. -- `CSIVolumeHealth`: Enable support for CSI volume health monitoring on node. -- `CloudControllerManagerWebhook`: Enable webhooks in cloud controller manager. -- `CloudDualStackNodeIPs`: Enables dual-stack `kubelet --node-ip` with external cloud providers. - See [Configure IPv4/IPv6 dual-stack](/docs/concepts/services-networking/dual-stack/#configure-ipv4-ipv6-dual-stack) - for more details. -- `ClusterTrustBundle`: Enable ClusterTrustBundle objects. -- `ClusterTrustBundleProjection`: [`clusterTrustBundle` projected volume sources](/docs/concepts/storage/projected-volumes#clustertrustbundle). -- `ComponentSLIs`: Enable the `/metrics/slis` endpoint on Kubernetes components like - kubelet, kube-scheduler, kube-proxy, kube-controller-manager, cloud-controller-manager - allowing you to scrape health check metrics. -- `ConsistentHTTPGetHandlers`: Normalize HTTP get URL and Header passing for lifecycle - handlers with probers. -- `ConsistentListFromCache`: Allow the API server to serve consistent lists from cache. -- `ContainerCheckpoint`: Enables the kubelet `checkpoint` API. - See [Kubelet Checkpoint API](/docs/reference/node/kubelet-checkpoint-api/) for more details. -- `ContextualLogging`: When you enable this feature gate, Kubernetes components that support - contextual logging add extra detail to log output. -- `CronJobsScheduledAnnotation`: Set the scheduled job time as an - {{< glossary_tooltip text="annotation" term_id="annotation" >}} on Jobs that were created - on behalf of a CronJob. -- `CronJobTimeZone`: Allow the use of the `timeZone` optional field in [CronJobs](/docs/concepts/workloads/controllers/cron-jobs/). -- `CRDValidationRatcheting`: Enable updates to custom resources to contain - violations of their OpenAPI schema if the offending portions of the resource - update did not change. See [Validation Ratcheting](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-ratcheting) - for more details. -- `CrossNamespaceVolumeDataSource`: Enable the usage of cross namespace volume data source - to allow you to specify a source namespace in the `dataSourceRef` field of a - PersistentVolumeClaim. -- `CustomCPUCFSQuotaPeriod`: Enable nodes to change `cpuCFSQuotaPeriod` in - [kubelet config](/docs/tasks/administer-cluster/kubelet-config-file/). -- `CustomResourceValidationExpressions`: Enable expression language validation in CRD - which will validate customer resource based on validation rules written in - the `x-kubernetes-validations` extension. -- `DaemonSetUpdateSurge`: Enables the DaemonSet workloads to maintain - availability during update per node. - See [Perform a Rolling Update on a DaemonSet](/docs/tasks/manage-daemon/update-daemon-set/). -- `DefaultHostNetworkHostPortsInPodTemplates`: Changes when the default value of - `PodSpec.containers[*].ports[*].hostPort` - is assigned. The default is to only set a default value in Pods. - Enabling this means a default will be assigned even to embedded - PodSpecs (e.g. in a Deployment), which is the historical default. -- `DevicePluginCDIDevices`: Enable support to CDI device IDs in the - [Device Plugin](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) API. -- `DisableCloudProviders`: Disables any functionality in `kube-apiserver`, - `kube-controller-manager` and `kubelet` related to the `--cloud-provider` - component flag. -- `DisableKubeletCloudCredentialProviders`: Disable the in-tree functionality in kubelet - to authenticate to a cloud provider container registry for image pull credentials. -- `DisableNodeKubeProxyVersion`: Disable setting the `kubeProxyVersion` field of the Node. -- `DynamicResourceAllocation`: Enables support for resources with custom parameters and a lifecycle - that is independent of a Pod. -- `ElasticIndexedJob`: Enables Indexed Jobs to be scaled up or down by mutating both - `spec.completions` and `spec.parallelism` together such that `spec.completions == spec.parallelism`. - See docs on [elastic Indexed Jobs](/docs/concepts/workloads/controllers/job#elastic-indexed-jobs) - for more details. -- `EfficientWatchResumption`: Allows for storage-originated bookmark (progress - notify) events to be delivered to the users. This is only applied to watch operations. -- `EventedPLEG`: Enable support for the kubelet to receive container life cycle events from the - {{< glossary_tooltip text="container runtime" term_id="container-runtime" >}} via - an extension to {{}}. - (PLEG is an abbreviation for “Pod lifecycle event generator”). - For this feature to be useful, you also need to enable support for container lifecycle events - in each container runtime running in your cluster. If the container runtime does not announce - support for container lifecycle events then the kubelet automatically switches to the legacy - generic PLEG mechanism, even if you have this feature gate enabled. -- `ExecProbeTimeout`: Ensure kubelet respects exec probe timeouts. - 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). -- `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). -- `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 - capabilities (e.g. `MKNODE`, `SYS_MODULE` etc.). This should only be enabled - if user namespace remapping is enabled in the Docker daemon. -- `GracefulNodeShutdown`: Enables support for graceful shutdown in kubelet. - During a system shutdown, kubelet will attempt to detect the shutdown event - and gracefully terminate pods running on the node. See - [Graceful Node Shutdown](/docs/concepts/architecture/nodes/#graceful-node-shutdown) - for more details. -- `GracefulNodeShutdownBasedOnPodPriority`: Enables the kubelet to check Pod priorities - when shutting down a node gracefully. -- `GRPCContainerProbe`: Enables the gRPC probe method for liveness, readiness and startup probes. - See [Configure Liveness, Readiness and Startup Probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-grpc-liveness-probe). -- `HonorPVReclaimPolicy`: Honor persistent volume reclaim policy when it is `Delete` irrespective of PV-PVC deletion ordering. - For more details, check the - [PersistentVolume deletion protection finalizer](/docs/concepts/storage/persistent-volumes/#persistentvolume-deletion-protection-finalizer) - documentation. -- `HPAContainerMetrics`: Enable the `HorizontalPodAutoscaler` to scale based on - metrics from individual containers in target pods. -- `HPAScaleToZero`: Enables setting `minReplicas` to 0 for `HorizontalPodAutoscaler` - resources when using custom or external metrics. -- `IPTablesOwnershipCleanup`: This causes kubelet to no longer create legacy iptables rules. -- `InPlacePodVerticalScaling`: Enables in-place Pod vertical scaling. -- `InTreePluginAWSUnregister`: Stops registering the aws-ebs in-tree plugin in kubelet - and volume controllers. -- `InTreePluginAzureDiskUnregister`: Stops registering the azuredisk in-tree plugin in kubelet - and volume controllers. -- `InTreePluginAzureFileUnregister`: Stops registering the azurefile in-tree plugin in kubelet - and volume controllers. -- `InTreePluginGCEUnregister`: Stops registering the gce-pd in-tree plugin in kubelet - and volume controllers. -- `InTreePluginOpenStackUnregister`: Stops registering the OpenStack cinder in-tree plugin in kubelet - and volume controllers. -- `InTreePluginPortworxUnregister`: Stops registering the Portworx in-tree plugin in kubelet - and volume controllers. -- `InTreePluginRBDUnregister`: Stops registering the RBD in-tree plugin in kubelet - and volume controllers. -- `InTreePluginvSphereUnregister`: Stops registering the vSphere in-tree plugin in kubelet - and volume controllers. -- `JobMutableNodeSchedulingDirectives`: Allows updating node scheduling directives in - the pod template of [Job](/docs/concepts/workloads/controllers/job/). -- `JobBackoffLimitPerIndex`: Allows specifying the maximal number of pod - retries per index in Indexed jobs. -- `JobPodFailurePolicy`: Allow users to specify handling of pod failures based on container - exit codes and pod conditions. -- `JobPodReplacementPolicy`: Allows you to specify pod replacement for terminating pods in a - [Job](/docs/concepts/workloads/controllers/job/). -- `JobReadyPods`: Enables tracking the number of Pods that have a `Ready` - [condition](/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions). - The count of `Ready` pods is recorded in the - [status](/docs/reference/kubernetes-api/workload-resources/job-v1/#JobStatus) - of a [Job](/docs/concepts/workloads/controllers/job/) status. -- `JobTrackingWithFinalizers`: Enables tracking [Job](/docs/concepts/workloads/controllers/job/) - completions without relying on Pods remaining in the cluster indefinitely. - The Job controller uses Pod finalizers and a field in the Job status to keep - track of the finished Pods to count towards completion. -- `KMSv1`: Enables KMS v1 API for encryption at rest. See - [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider/) - for more details. -- `KMSv2`: Enables KMS v2 API for encryption at rest. See - [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider/) - for more details. -- `KMSv2KDF`: Enables KMS v2 to generate single use data encryption keys. - See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider/) - for more details. If the `KMSv2` feature gate is not enabled in your cluster, the value of - the `KMSv2KDF` feature gate has no effect. -- `KubeProxyDrainingTerminatingNodes`: Implement connection draining for - terminating nodes for `externalTrafficPolicy: Cluster` services. -- `KubeletCgroupDriverFromCRI`: Enable detection of the kubelet cgroup driver - configuration option from the {{}}. - You can use this feature gate on nodes with a kubelet that supports the feature gate - and where there is a CRI container runtime that supports the `RuntimeConfig` - CRI call. If both CRI and kubelet support this feature, the kubelet ignores the - `cgroupDriver` configuration setting (or deprecated `--cgroup-driver` command - line argument). If you enable this feature gate and the container runtime - doesn't support it, the kubelet falls back to using the driver configured using - the `cgroupDriver` configuration setting. - See [Configuring a cgroup driver](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/) - for more details. -- `KubeletInUserNamespace`: Enables support for running kubelet in a - {{}}. - See [Running Kubernetes Node Components as a Non-root User](/docs/tasks/administer-cluster/kubelet-in-userns/). -- `KubeletPodResources`: Enable the kubelet's pod resources gRPC endpoint. See - [Support Device Monitoring](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/606-compute-device-assignment/README.md) - for more details. -- `KubeletPodResourcesGet`: Enable the `Get` gRPC endpoint on kubelet's for Pod resources. - This API augments the [resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources). -- `KubeletPodResourcesGetAllocatable`: Enable the kubelet's pod resources - `GetAllocatableResources` functionality. This API augments the - [resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources). -- `KubeletPodResourcesDynamicResources`: Extend the kubelet's pod resources gRPC endpoint - to include resources allocated in `ResourceClaims` via `DynamicResourceAllocation` API. - See [resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources) - for more details. with informations about the allocatable resources, enabling clients to properly - track the free compute resources on a node. -- `KubeletTracing`: Add support for distributed tracing in the kubelet. - When enabled, kubelet CRI interface and authenticated http servers are instrumented to generate - OpenTelemetry trace spans. - See [Traces for Kubernetes System Components](/docs/concepts/cluster-administration/system-traces) for more details. -- `LegacyServiceAccountTokenNoAutoGeneration`: Stop auto-generation of Secret-based - [service account tokens](/docs/concepts/security/service-accounts/#get-a-token). -- `LegacyServiceAccountTokenCleanUp`: Enable invalidating auto-generated Secret-based - [service account tokens](/docs/concepts/security/service-accounts/#get-a-token) - when they have not been used in a specified time (defaults to one year). Clean up - the auto-generated Secret-based tokens if they have been invalidated for a specified time - (defaults to one year). -- `LegacyServiceAccountTokenTracking`: Track usage of Secret-based - [service account tokens](/docs/concepts/security/service-accounts/#get-a-token). -- `LoadBalancerIPMode`: Allows setting `ipMode` for Services where `type` is set to `LoadBalancer`. - See [Specifying IPMode of load balancer status](/docs/concepts/services-networking/service/#load-balancer-ip-mode) - for more information. -- `LocalStorageCapacityIsolationFSQuotaMonitoring`: When `LocalStorageCapacityIsolation` - is enabled for - [local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/) - and the backing filesystem for [emptyDir volumes](/docs/concepts/storage/volumes/#emptydir) - supports project quotas and they are enabled, use project quotas to monitor - [emptyDir volume](/docs/concepts/storage/volumes/#emptydir) storage consumption rather than - filesystem walk for better performance and accuracy. -- `LogarithmicScaleDown`: Enable semi-random selection of pods to evict on controller scaledown - based on logarithmic bucketing of pod timestamps. -- `LoggingAlphaOptions`: Allow fine-tuing of experimental, alpha-quality logging options. -- `LoggingBetaOptions`: Allow fine-tuing of experimental, beta-quality logging options. -- `MatchLabelKeysInPodAffinity`: Enable the `matchLabelKeys` and `mismatchLabelKeys` field for - [pod (anti)affinity](/docs/concepts/scheduling-eviction/assign-pod-node/). -- `MatchLabelKeysInPodTopologySpread`: Enable the `matchLabelKeys` field for - [Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). -- `MaxUnavailableStatefulSet`: Enables setting the `maxUnavailable` field for the - [rolling update strategy](/docs/concepts/workloads/controllers/statefulset/#rolling-updates) - of a StatefulSet. The field specifies the maximum number of Pods - that can be unavailable during the update. -- `MemoryManager`: Allows setting memory affinity for a container based on - NUMA topology. -- `MemoryQoS`: Enable memory protection and usage throttle on pod / container using - cgroup v2 memory controller. -- `MinDomainsInPodTopologySpread`: Enable `minDomains` in - [Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). -- `MinimizeIPTablesRestore`: Enables new performance improvement logics - in the kube-proxy iptables mode. -- `MultiCIDRServiceAllocator`: Allow to dynamically configure the cluster Service IP ranges using - ServiceCIDR objects and track IP address allocations for Service cluster IPs using IPAddress objects. -- `NewVolumeManagerReconstruction`: Enables improved discovery of mounted volumes during kubelet - startup. Since this code has been significantly refactored, we allow to opt-out in case kubelet - gets stuck at the startup or is not unmounting volumes from terminated Pods. Note that this - refactoring was behind `SELinuxMountReadWriteOncePod` alpha feature gate in Kubernetes 1.25. - - Before Kubernetes v1.25, the kubelet used different default behavior for discovering mounted - volumes during the kubelet startup. If you disable this feature gate (it's enabled by default), you select - the legacy discovery behavior. - - In Kubernetes v1.25 and v1.26, this behavior toggle was part of the `SELinuxMountReadWriteOncePod` - feature gate. -- `NodeInclusionPolicyInPodTopologySpread`: Enable using `nodeAffinityPolicy` and `nodeTaintsPolicy` in - [Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/) - when calculating pod topology spread skew. -- `NodeLogQuery`: Enables querying logs of node services using the `/logs` endpoint. -- `NodeOutOfServiceVolumeDetach`: When a Node is marked out-of-service using the - `node.kubernetes.io/out-of-service` taint, Pods on the node will be forcefully deleted - if they can not tolerate this taint, and the volume detach operations for Pods terminating - on the node will happen immediately. The deleted Pods can recover quickly on different nodes. -- `NodeSwap`: Enable the kubelet to allocate swap memory for Kubernetes workloads on a node. - Must be used with `KubeletConfiguration.failSwapOn` set to false. - For more details, please see [swap memory](/docs/concepts/architecture/nodes/#swap-memory). -- `OpenAPIEnums`: Enables populating "enum" fields of OpenAPI schemas in the - spec returned from the API server. -- `OpenAPIV3`: Enables the API server to publish OpenAPI v3. -- `PDBUnhealthyPodEvictionPolicy`: Enables the `unhealthyPodEvictionPolicy` field of a `PodDisruptionBudget`. - This specifies when unhealthy pods should be considered for eviction. Please see - [Unhealthy Pod Eviction Policy](/docs/tasks/run-application/configure-pdb/#unhealthy-pod-eviction-policy) - for more details. -- `PersistentVolumeLastPhaseTransitionTime`: Adds a new field to PersistentVolume - which holds a timestamp of when the volume last transitioned its phase. -- `PodAndContainerStatsFromCRI`: Configure the kubelet to gather container and pod stats from the - CRI container runtime rather than gathering them from cAdvisor. As of 1.26, this also includes - gathering metrics from CRI and emitting them over `/metrics/cadvisor` (rather than having cAdvisor emit them directly). -- `PodDeletionCost`: Enable the [Pod Deletion Cost](/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost) - feature which allows users to influence ReplicaSet downscaling order. -- `PodDisruptionConditions`: Enables support for appending a dedicated pod condition indicating that - the pod is being deleted due to a disruption. -- `PodHostIPs`: Enable the `status.hostIPs` field for pods and the {{< glossary_tooltip term_id="downward-api" text="downward API" >}}. - The field lets you expose host IP addresses to workloads. -- `PodIndexLabel`: Enables the Job controller and StatefulSet controller to add the pod index as a label when creating new pods. See [Job completion mode docs](/docs/concepts/workloads/controllers/job#completion-mode) and [StatefulSet pod index label docs](/docs/concepts/workloads/controllers/statefulset/#pod-index-label) for more details. -- `PodLifecycleSleepAction`: Enables the `sleep` action in Container lifecycle hooks. -- `PodReadyToStartContainersCondition`: Enable the kubelet to mark the [PodReadyToStartContainers](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network) - condition on pods. This was previously (1.25-1.27) known as `PodHasNetworkCondition`. -- `PodSchedulingReadiness`: Enable setting `schedulingGates` field to control a Pod's - [scheduling readiness](/docs/concepts/scheduling-eviction/pod-scheduling-readiness/). -- `ProbeTerminationGracePeriod`: Enable [setting probe-level - `terminationGracePeriodSeconds`](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationgraceperiodseconds) - on pods. See the [enhancement proposal](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2238-liveness-probe-grace-period) - for more details. -- `ProcMountType`: Enables control over the type proc mounts for containers - by setting the `procMount` field of a SecurityContext. -- `ProxyTerminatingEndpoints`: Enable the kube-proxy to handle terminating - endpoints when `ExternalTrafficPolicy=Local`. -- `QOSReserved`: Allows resource reservations at the QoS level preventing pods - at lower QoS levels from bursting into resources requested at higher QoS levels - (memory only for now). -- `ReadWriteOncePod`: Enables the usage of `ReadWriteOncePod` PersistentVolume - access mode. -- `RecoverVolumeExpansionFailure`: Enables users to edit their PVCs to smaller - sizes so as they can recover from previously issued volume expansion failures. - See [Recovering from Failure when Expanding Volumes](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) - for more details. -- `RemainingItemCount`: Allow the API servers to show a count of remaining - items in the response to a - [chunking list request](/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks). -- `RemoveSelfLink`: Sets the `.metadata.selfLink` field to blank (empty string) for all - objects and collections. This field has been deprecated since the Kubernetes v1.16 - release. When this feature is enabled, the `.metadata.selfLink` field remains part of - the Kubernetes API, but is always unset. -- `RotateKubeletServerCertificate`: Enable the rotation of the server TLS certificate on the kubelet. - See [kubelet configuration](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration) - for more details. -- `RuntimeClassInImageCriApi` : Enables images to be pulled based on the [runtime class] - (/docs/concepts/containers/runtime-class/) of the pods that reference them. -- `SELinuxMountReadWriteOncePod`: Speeds up container startup by allowing kubelet to mount volumes - for a Pod directly with the correct SELinux label instead of changing each file on the volumes - recursively. The initial implementation focused on ReadWriteOncePod volumes. -- `SchedulerQueueingHints`: Enables [the scheduler's _queueing hints_ enhancement](https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/4247-queueinghint/README.md), - which benefits to reduce the useless requeueing. - The scheduler retries scheduling pods if something changes in the cluster that could make the pod scheduled. - Queueing hints are internal signals that allow the scheduler to filter the changes in the cluster - that are relevant to the unscheduled pod, based on previous scheduling attempts. -- `SeccompDefault`: Enables the use of `RuntimeDefault` as the default seccomp profile - for all workloads. - The seccomp profile is specified in the `securityContext` of a Pod and/or a Container. -- `SecurityContextDeny`: This gate signals that the `SecurityContextDeny` admission controller is deprecated. -- `SeparateTaintEvictionController`: Enables running `TaintEvictionController`, - that performs [Taint-based Evictions](/docs/concepts/scheduling-eviction/taint-and-toleration/#taint-based-evictions), - in a controller separated from `NodeLifecycleController`. When this feature is - enabled, users can optionally disable Taint-based Eviction setting the - `--controllers=-taint-eviction-controller` flag on the `kube-controller-manager`. -- `ServerSideApply`: Enables the [Sever Side Apply (SSA)](/docs/reference/using-api/server-side-apply/) - feature on the API Server. -- `ServerSideFieldValidation`: Enables server-side field validation. This means the validation - of resource schema is performed at the API server side rather than the client side - (for example, the `kubectl create` or `kubectl apply` command line). -- `ServiceAccountTokenJTI`: Controls whether JTIs (UUIDs) are embedded into generated service account tokens, - and whether these JTIs are recorded into the Kubernetes audit log for future requests made by these tokens. -- `ServiceAccountTokenNodeBinding`: Controls whether the apiserver allows binding service account tokens to Node objects. -- `ServiceAccountTokenNodeBindingValidation`: Controls whether the apiserver will validate a Node reference in service account tokens. -- `ServiceAccountTokenPodNodeInfo`: Controls whether the apiserver embeds the node name and uid - for the associated node when issuing service account tokens bound to Pod objects. -- `ServiceNodePortStaticSubrange`: Enables the use of different port allocation - strategies for NodePort Services. For more details, see - [reserve NodePort ranges to avoid collisions](/docs/concepts/services-networking/service/#avoid-nodeport-collisions). -- `SidecarContainers`: Allow setting the `restartPolicy` of an init container to - `Always` so that the container becomes a sidecar container (restartable init containers). - See [Sidecar containers and restartPolicy](/docs/concepts/workloads/pods/init-containers/#sidecar-containers-and-restartpolicy) - for more details. -- `SizeMemoryBackedVolumes`: Enable kubelets to determine the size limit for - memory-backed volumes (mainly `emptyDir` volumes). -- `SkipReadOnlyValidationGCE`: Skip validation for GCE, will enable in the - next version. -- `StableLoadBalancerNodeSet`: Enables less load balancer re-configurations by - the service controller (KCCM) as an effect of changing node state. -- `StatefulSetStartOrdinal`: Allow configuration of the start ordinal in a - StatefulSet. See - [Start ordinal](/docs/concepts/workloads/controllers/statefulset/#start-ordinal) - for more details. -- `StorageVersionAPI`: Enable the - [storage version API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#storageversion-v1alpha1-internal-apiserver-k8s-io). -- `StorageVersionHash`: Allow API servers to expose the storage version hash in the - discovery. -- `TopologyAwareHints`: Enables topology aware routing based on topology hints - in EndpointSlices. See [Topology Aware Hints](/docs/concepts/services-networking/topology-aware-hints/) - for more details. -- `TopologyManager`: Enable a mechanism to coordinate fine-grained hardware resource - assignments for different components in Kubernetes. See - [Control Topology Management Policies on a node](/docs/tasks/administer-cluster/topology-manager/). -- `TopologyManagerPolicyAlphaOptions`: Allow fine-tuning of topology manager policies, - experimental, Alpha-quality options. - This feature gate guards *a group* of topology manager options whose quality level is alpha. - This feature gate will never graduate to beta or stable. -- `TopologyManagerPolicyBetaOptions`: Allow fine-tuning of topology manager policies, - experimental, Beta-quality options. - This feature gate guards *a group* of topology manager options whose quality level is beta. - This feature gate will never graduate to stable. -- `TopologyManagerPolicyOptions`: Allow fine-tuning of topology manager policies, -- `TranslateStreamCloseWebsocketRequests`: Allow WebSocket streaming of the - remote command sub-protocol (`exec`, `cp`, `attach`) from clients requesting - version 5 (v5) of the sub-protocol. -- `UnauthenticatedHTTP2DOSMitigation`: Enables HTTP/2 Denial of Service (DoS) - mitigations for unauthenticated clients. - Kubernetes v1.28.0 through v1.28.2 do not include this feature gate. -- `UnknownVersionInteroperabilityProxy`: Proxy resource requests to the correct peer kube-apiserver when - multiple kube-apiservers exist at varied versions. - See [Mixed version proxy](/docs/concepts/architecture/mixed-version-proxy/) for more information. -- `UserNamespacesPodSecurityStandards`: Enable Pod Security Standards policies relaxation for pods - that run with namespaces. You must set the value of this feature gate consistently across all nodes in - your cluster, and you must also enable `UserNamespacesSupport` to use this feature. - See [User Namespaces](/docs/concepts/workloads/pods/user-namespaces/#integration-with-pod-security-admission-checks) for more details. -- `UserNamespacesSupport`: Enable user namespace support for Pods. - Before Kubernetes v1.28, this feature gate was named `UserNamespacesStatelessPodsSupport`. -- `ValidatingAdmissionPolicy`: Enable [ValidatingAdmissionPolicy](/docs/reference/access-authn-authz/validating-admission-policy/) - support for CEL validations be used in Admission Control. -- `VolumeCapacityPriority`: Enable support for prioritizing nodes in different - topologies based on available PV capacity. -- `VolumeAttributesClass`: Enable support for VolumeAttributesClasses. - See [Volume Attributes Classes](/docs/concepts/storage/volume-attributes-classes/) - for more information. -- `WatchBookmark`: Enable support for watch bookmark events. -- `WatchList` : Enable support for [streaming initial state of objects in watch requests](/docs/reference/using-api/api-concepts/#streaming-lists). -- `WinDSR`: Allows kube-proxy to create DSR loadbalancers for Windows. -- `WinOverlay`: Allows kube-proxy to run in overlay mode for Windows. -- `WindowsHostNetwork`: Enables support for joining Windows containers to a hosts' network namespace. - -## {{% heading "whatsnext" %}} - -* The [deprecation policy](/docs/reference/using-api/deprecation-policy/) for Kubernetes explains - the project's approach to removing features and components. -* Since Kubernetes 1.24, new beta APIs are not enabled by default. When enabling a beta - feature, you will also need to enable any associated API resources. - For example, to enable a particular resource like - `storage.k8s.io/v1beta1/csistoragecapacities`, set `--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities`. - See [API Versioning](/docs/reference/using-api/#api-versioning) for more details on the command line flags. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/accelerators.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/accelerators.md new file mode 100644 index 0000000000..99e64dc464 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/accelerators.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: Accelerators +content_type: feature_gate + +_build: + list: never + render: false +--- +Provided an early form of plugin to enable Nvidia GPU support when using +Docker Engine; no longer available. See +[Device Plugins](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) for +an alternative. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/admission-webhook-match-conditions.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/admission-webhook-match-conditions.md new file mode 100644 index 0000000000..26e50d79cf --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/admission-webhook-match-conditions.md @@ -0,0 +1,9 @@ +--- +title: AdmissionWebhookMatchConditions +content_type: feature_gate +_build: + list: never + render: false +--- +Enable [match conditions](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchconditions) +on mutating & validating admission webhooks. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/advanced-auditing.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/advanced-auditing.md new file mode 100644 index 0000000000..a483990e6b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/advanced-auditing.md @@ -0,0 +1,8 @@ +--- +title: AdvancedAuditing +content_type: feature_gate +_build: + list: never + render: false +--- +Enable [advanced auditing](/docs/tasks/debug/debug-cluster/audit/#advanced-audit) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/affinity-in-annotations.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/affinity-in-annotations.md new file mode 100644 index 0000000000..712bac6629 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/affinity-in-annotations.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: AffinityInAnnotations +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable setting +[Pod affinity or anti-affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/aggregated-discovery-endpoint.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/aggregated-discovery-endpoint.md new file mode 100644 index 0000000000..9b01ba2510 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/aggregated-discovery-endpoint.md @@ -0,0 +1,9 @@ +--- +title: AggregatedDiscoveryEndpoint +content_type: feature_gate +_build: + list: never + render: false +--- +Enable a single HTTP endpoint `/discovery/` which +supports native HTTP caching with ETags containing all APIResources known to the API server. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-ext-traffic-local-endpoints.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-ext-traffic-local-endpoints.md new file mode 100644 index 0000000000..22e1a731cb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-ext-traffic-local-endpoints.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: AllowExtTrafficLocalEndpoints +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable a service to route external requests to node local endpoints. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-insecure-backend-proxy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-insecure-backend-proxy.md new file mode 100644 index 0000000000..df3bc91001 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/allow-insecure-backend-proxy.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: AllowInsecureBackendProxy +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the users to skip TLS verification of +kubelets on Pod log requests. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/any-volume-data-source.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/any-volume-data-source.md new file mode 100644 index 0000000000..6ccfbd121f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/any-volume-data-source.md @@ -0,0 +1,9 @@ +--- +title: AnyVolumeDataSource +content_type: feature_gate +_build: + list: never + render: false +--- +Enable use of any custom resource as the `DataSource` of a +{{< glossary_tooltip text="PVC" term_id="persistent-volume-claim" >}}. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-list-chunking.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-list-chunking.md new file mode 100644 index 0000000000..f0883ad53e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-list-chunking.md @@ -0,0 +1,9 @@ +--- +title: APIListChunking +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the API clients to retrieve (`LIST` or `GET`) +resources from API server in chunks. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-priority-and-fairness.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-priority-and-fairness.md new file mode 100644 index 0000000000..1585d0561f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-priority-and-fairness.md @@ -0,0 +1,9 @@ +--- +title: APIPriorityAndFairness +content_type: feature_gate +_build: + list: never + render: false +--- +Enable managing request concurrency with +prioritization and fairness at each server. (Renamed from `RequestManagement`) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-response-compression.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-response-compression.md new file mode 100644 index 0000000000..b106d6bcaa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-response-compression.md @@ -0,0 +1,8 @@ +--- +title: APIResponseCompression +content_type: feature_gate +_build: + list: never + render: false +--- +Compress the API responses for `LIST` or `GET` requests. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-self-subject-review.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-self-subject-review.md new file mode 100644 index 0000000000..98de6394b3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-self-subject-review.md @@ -0,0 +1,11 @@ +--- +title: APISelfSubjectReview +content_type: feature_gate +_build: + list: never + render: false +--- +Activate the `SelfSubjectReview` API which allows users +to see the requesting subject's authentication information. +See [API access to authentication information for a client](/docs/reference/access-authn-authz/authentication/#self-subject-review) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-identity.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-identity.md new file mode 100644 index 0000000000..d232b7456d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-identity.md @@ -0,0 +1,8 @@ +--- +title: APIServerIdentity +content_type: feature_gate +_build: + list: never + render: false +--- +Assign each API server an ID in a cluster, using a [Lease](/docs/concepts/architecture/leases). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-tracing.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-tracing.md new file mode 100644 index 0000000000..c532d60d16 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/api-server-tracing.md @@ -0,0 +1,9 @@ +--- +title: APIServerTracing +content_type: feature_gate +_build: + list: never + render: false +--- +Add support for distributed tracing in the API server. +See [Traces for Kubernetes System Components](/docs/concepts/cluster-administration/system-traces) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/apparmor.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/apparmor.md new file mode 100644 index 0000000000..b6abcab362 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/apparmor.md @@ -0,0 +1,9 @@ +--- +title: AppArmor +content_type: feature_gate +_build: + list: never + render: false +--- +Enable use of AppArmor mandatory access control for Pods running on Linux nodes. +See [AppArmor Tutorial](/docs/tutorials/security/apparmor/) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/attach-volume-limit.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/attach-volume-limit.md new file mode 100644 index 0000000000..c2a84d7ac6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/attach-volume-limit.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: AttachVolumeLimit +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable volume plugins to report limits on number of volumes +that can be attached to a node. +See [dynamic volume limits](/docs/concepts/storage/storage-limits/#dynamic-volume-limits) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/balance-attached-node-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/balance-attached-node-volumes.md new file mode 100644 index 0000000000..00644f7ff7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/balance-attached-node-volumes.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: BalanceAttachedNodeVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Include volume count on node to be considered for +balanced resource allocation while scheduling. A node which has closer CPU, +memory utilization, and volume count is favored by the scheduler while making decisions. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/block-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/block-volume.md new file mode 100644 index 0000000000..d4a49752ed --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/block-volume.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: BlockVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the definition and consumption of raw block devices in Pods. +See [Raw Block Volume Support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/bound-service-account-token-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/bound-service-account-token-volume.md new file mode 100644 index 0000000000..0c5a322c31 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/bound-service-account-token-volume.md @@ -0,0 +1,17 @@ +--- +# Removed from Kubernetes +title: BoundServiceAccountTokenVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Migrate ServiceAccount volumes to use a projected volume +consisting of a ServiceAccountTokenVolumeProjection. Cluster admins can use metric +`serviceaccount_stale_tokens_total` to monitor workloads that are depending on the extended +tokens. If there are no such workloads, turn off extended tokens by starting `kube-apiserver` with +flag `--service-account-extend-token-expiration=false`. + +Check [Bound Service Account Tokens](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-controller-manager-webhook.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-controller-manager-webhook.md new file mode 100644 index 0000000000..efc3253049 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-controller-manager-webhook.md @@ -0,0 +1,8 @@ +--- +title: CloudControllerManagerWebhook +content_type: feature_gate +_build: + list: never + render: false +--- +Enable webhooks in cloud controller manager. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-dual-stack-node-ips.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-dual-stack-node-ips.md new file mode 100644 index 0000000000..648cc8cb7a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cloud-dual-stack-node-ips.md @@ -0,0 +1,10 @@ +--- +title: CloudDualStackNodeIPs +content_type: feature_gate +_build: + list: never + render: false +--- +Enables dual-stack `kubelet --node-ip` with external cloud providers. +See [Configure IPv4/IPv6 dual-stack](/docs/concepts/services-networking/dual-stack/#configure-ipv4-ipv6-dual-stack) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle-projection.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle-projection.md new file mode 100644 index 0000000000..12d4e0104f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle-projection.md @@ -0,0 +1,8 @@ +--- +title: ClusterTrustBundleProjection +content_type: feature_gate +_build: + list: never + render: false +--- +[`clusterTrustBundle` projected volume sources](/docs/concepts/storage/projected-volumes#clustertrustbundle). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle.md new file mode 100644 index 0000000000..1a0453a20a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cluster-trust-bundle.md @@ -0,0 +1,8 @@ +--- +title: ClusterTrustBundle +content_type: feature_gate +_build: + list: never + render: false +--- +Enable ClusterTrustBundle objects and kubelet integration. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/component-slis.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/component-slis.md new file mode 100644 index 0000000000..ea98167a6e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/component-slis.md @@ -0,0 +1,10 @@ +--- +title: ComponentSLIs +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `/metrics/slis` endpoint on Kubernetes components like +kubelet, kube-scheduler, kube-proxy, kube-controller-manager, cloud-controller-manager +allowing you to scrape health check metrics. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/configurable-fs-group-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/configurable-fs-group-policy.md new file mode 100644 index 0000000000..ace47535d0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/configurable-fs-group-policy.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: ConfigurableFSGroupPolicy +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows user to configure volume permission change policy +for fsGroups when mounting a volume in a Pod. See +[Configure volume permission and ownership change policy for Pods](/docs/tasks/configure-pod-container/security-context/#configure-volume-permission-and-ownership-change-policy-for-pods) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-http-get-handlers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-http-get-handlers.md new file mode 100644 index 0000000000..9a686ab91a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-http-get-handlers.md @@ -0,0 +1,9 @@ +--- +title: ConsistentHTTPGetHandlers +content_type: feature_gate +_build: + list: never + render: false +--- +Normalize HTTP get URL and Header passing for lifecycle +handlers with probers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-list-from-cache.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-list-from-cache.md new file mode 100644 index 0000000000..8007517673 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/consistent-list-from-cache.md @@ -0,0 +1,9 @@ +--- +title: ConsistentListFromCache +content_type: feature_gate +_build: + list: never + render: false +--- +Allow the API server to serve consistent lists from cache. + diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/container-checkpoint.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/container-checkpoint.md new file mode 100644 index 0000000000..834598e163 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/container-checkpoint.md @@ -0,0 +1,9 @@ +--- +title: ContainerCheckpoint +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the kubelet `checkpoint` API. +See [Kubelet Checkpoint API](/docs/reference/node/kubelet-checkpoint-api/) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/contextual-logging.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/contextual-logging.md new file mode 100644 index 0000000000..a36db7b0f1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/contextual-logging.md @@ -0,0 +1,9 @@ +--- +title: ContextualLogging +content_type: feature_gate +_build: + list: never + render: false +--- +When you enable this feature gate, Kubernetes components that support + contextual logging add extra detail to log output. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/controller-manager-leader-migration.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/controller-manager-leader-migration.md new file mode 100644 index 0000000000..3426337645 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/controller-manager-leader-migration.md @@ -0,0 +1,15 @@ +--- +# Removed from Kubernetes +title: ControllerManagerLeaderMigration +content_type: feature_gate + +_build: + list: never + render: false +--- +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. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-alpha-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-alpha-options.md new file mode 100644 index 0000000000..a251067755 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-alpha-options.md @@ -0,0 +1,11 @@ +--- +title: CPUManagerPolicyAlphaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +This allows fine-tuning of CPUManager policies, +experimental, Alpha-quality options +This feature gate guards *a group* of CPUManager options whose quality level is alpha. +This feature gate will never graduate to beta or stable. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-beta-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-beta-options.md new file mode 100644 index 0000000000..e930cd7010 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-beta-options.md @@ -0,0 +1,11 @@ +--- +title: CPUManagerPolicyBetaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +This allows fine-tuning of CPUManager policies, +experimental, Beta-quality options +This feature gate guards *a group* of CPUManager options whose quality level is beta. +This feature gate will never graduate to stable. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-options.md new file mode 100644 index 0000000000..9875b4ecd1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager-policy-options.md @@ -0,0 +1,8 @@ +--- +title: CPUManagerPolicyOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuning of CPUManager policies. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager.md new file mode 100644 index 0000000000..732898d0af --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cpu-manager.md @@ -0,0 +1,9 @@ +--- +title: CPUManager +content_type: feature_gate +_build: + list: never + render: false +--- +Enable container level CPU affinity support, see +[CPU Management Policies](/docs/tasks/administer-cluster/cpu-management-policies/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/crd-validation-ratcheting.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/crd-validation-ratcheting.md new file mode 100644 index 0000000000..f0906090bc --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/crd-validation-ratcheting.md @@ -0,0 +1,11 @@ +--- +title: CRDValidationRatcheting +content_type: feature_gate +_build: + list: never + render: false +--- +Enable updates to custom resources to contain +violations of their OpenAPI schema if the offending portions of the resource +update did not change. See [Validation Ratcheting](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-ratcheting) for more details. + diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cri-container-log-rotation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cri-container-log-rotation.md new file mode 100644 index 0000000000..46c954e7fb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cri-container-log-rotation.md @@ -0,0 +1,15 @@ +--- +# Removed from Kubernetes +title: CRIContainerLogRotation +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable container log rotation for CRI container runtime. +The default max size of a log file is 10MB and the default max number of +log files allowed for a container is 5. +These values can be configured in the kubelet config. +See [logging at node level](/docs/concepts/cluster-administration/logging/#logging-at-the-node-level) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-controller-v2.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-controller-v2.md new file mode 100644 index 0000000000..9136202d59 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-controller-v2.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CronJobControllerV2 +content_type: feature_gate + +_build: + list: never + render: false +--- +Use an alternative implementation of the +{{< glossary_tooltip text="CronJob" term_id="cronjob" >}} controller. Otherwise, +version 1 of the same controller is selected. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-time-zone.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-time-zone.md new file mode 100644 index 0000000000..523b96bd87 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-job-time-zone.md @@ -0,0 +1,8 @@ +--- +title: CronJobTimeZone +content_type: feature_gate +_build: + list: never + render: false +--- +Allow the use of the `timeZone` optional field in [CronJobs](/docs/concepts/workloads/controllers/cron-jobs/) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-jobs-scheduled-annotation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-jobs-scheduled-annotation.md new file mode 100644 index 0000000000..0f07c62d07 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cron-jobs-scheduled-annotation.md @@ -0,0 +1,10 @@ +--- +title: CronJobsScheduledAnnotation +content_type: feature_gate +_build: + list: never + render: false +--- +Set the scheduled job time as an +{{< glossary_tooltip text="annotation" term_id="annotation" >}} on Jobs that were created +on behalf of a CronJob. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/cross-namespace-volume-data-source.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/cross-namespace-volume-data-source.md new file mode 100644 index 0000000000..fc871f5b49 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/cross-namespace-volume-data-source.md @@ -0,0 +1,10 @@ +--- +title: CrossNamespaceVolumeDataSource +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the usage of cross namespace volume data source + to allow you to specify a source namespace in the `dataSourceRef` field of a + PersistentVolumeClaim. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-block-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-block-volume.md new file mode 100644 index 0000000000..5ba4b057fa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-block-volume.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CSIBlockVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable external CSI volume drivers to support block storage. +See [`csi` raw block volume support](/docs/concepts/storage/volumes/#csi-raw-block-volume-support) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-driver-registry.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-driver-registry.md new file mode 100644 index 0000000000..8f05346580 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-driver-registry.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CSIDriverRegistry +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable all logic related to the CSIDriver API object in +`csi.storage.k8s.io`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-inline-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-inline-volume.md new file mode 100644 index 0000000000..64dcdc3a94 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-inline-volume.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: CSIInlineVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable CSI Inline volumes support for pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws-complete.md new file mode 100644 index 0000000000..59ca910f6c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws-complete.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationAWSComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the EBS in-tree plugin in +kubelet and volume controllers and enables shims and translation logic to +route volume operations from the AWS-EBS in-tree plugin to EBS CSI plugin. +Requires CSIMigration and CSIMigrationAWS feature flags enabled and EBS CSI +plugin installed and configured on all nodes in the cluster. This flag has +been deprecated in favor of the `InTreePluginAWSUnregister` feature flag +which prevents the registration of in-tree EBS plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws.md new file mode 100644 index 0000000000..2659f57640 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-aws.md @@ -0,0 +1,15 @@ +--- +# Removed from Kubernetes +title: CSIMigrationAWS +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the AWS-EBS in-tree plugin to EBS CSI plugin. Supports +falling back to in-tree EBS plugin for mount operations to nodes that have +the feature disabled or that do not have EBS CSI plugin installed and +configured. Does not support falling back for provision operations, for those +the CSI plugin must be installed and configured. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk-complete.md new file mode 100644 index 0000000000..a9d653dedd --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk-complete.md @@ -0,0 +1,17 @@ +--- +# Removed from Kubernetes +title: CSIMigrationAzureDiskComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the Azure-Disk in-tree +plugin in kubelet and volume controllers and enables shims and translation +logic to route volume operations from the Azure-Disk in-tree plugin to +AzureDisk CSI plugin. Requires CSIMigration and CSIMigrationAzureDisk feature +flags enabled and AzureDisk CSI plugin installed and configured on all nodes +in the cluster. This flag has been deprecated in favor of the +`InTreePluginAzureDiskUnregister` feature flag which prevents the registration +of in-tree AzureDisk plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk.md new file mode 100644 index 0000000000..100683eb56 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-disk.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationAzureDisk +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the Azure-Disk in-tree plugin to AzureDisk CSI plugin. +Supports falling back to in-tree AzureDisk plugin for mount operations to +nodes that have the feature disabled or that do not have AzureDisk CSI plugin +installed and configured. Does not support falling back for provision +operations, for those the CSI plugin must be installed and configured. +Requires CSIMigration feature flag enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file-complete.md new file mode 100644 index 0000000000..83ee952f9a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file-complete.md @@ -0,0 +1,17 @@ +--- +# Removed from Kubernetes +title: CSIMigrationAzureFileComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the Azure-File in-tree +plugin in kubelet and volume controllers and enables shims and translation +logic to route volume operations from the Azure-File in-tree plugin to +AzureFile CSI plugin. Requires CSIMigration and CSIMigrationAzureFile feature +flags enabled and AzureFile CSI plugin installed and configured on all nodes +in the cluster. This flag has been deprecated in favor of the +`InTreePluginAzureFileUnregister` feature flag which prevents the registration + of in-tree AzureFile plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file.md new file mode 100644 index 0000000000..b9d3405d48 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-azure-file.md @@ -0,0 +1,14 @@ +--- +title: CSIMigrationAzureFile +content_type: feature_gate +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the Azure-File in-tree plugin to AzureFile CSI plugin. +Supports falling back to in-tree AzureFile plugin for mount operations to +nodes that have the feature disabled or that do not have AzureFile CSI plugin +installed and configured. Does not support falling back for provision +operations, for those the CSI plugin must be installed and configured. +Requires CSIMigration feature flag enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce-complete.md new file mode 100644 index 0000000000..fda56a6cd0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce-complete.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationGCEComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the GCE-PD in-tree plugin in +kubelet and volume controllers and enables shims and translation logic to +route volume operations from the GCE-PD in-tree plugin to PD CSI plugin. +Requires CSIMigration and CSIMigrationGCE feature flags enabled and PD CSI +plugin installed and configured on all nodes in the cluster. This flag has +been deprecated in favor of the `InTreePluginGCEUnregister` feature flag which +prevents the registration of in-tree GCE PD plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce.md new file mode 100644 index 0000000000..e28c626b6e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-gce.md @@ -0,0 +1,14 @@ +--- +title: CSIMigrationGCE +content_type: feature_gate +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the GCE-PD in-tree plugin to PD CSI plugin. Supports falling +back to in-tree GCE plugin for mount operations to nodes that have the +feature disabled or that do not have PD CSI plugin installed and configured. +Does not support falling back for provision operations, for those the CSI +plugin must be installed and configured. Requires CSIMigration feature flag +enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack-complete.md new file mode 100644 index 0000000000..530a5386d7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack-complete.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationOpenStackComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the Cinder in-tree plugin in +kubelet and volume controllers and enables shims and translation logic to route +volume operations from the Cinder in-tree plugin to Cinder CSI plugin. +Requires CSIMigration and CSIMigrationOpenStack feature flags enabled and Cinder +CSI plugin installed and configured on all nodes in the cluster. This flag has +been deprecated in favor of the `InTreePluginOpenStackUnregister` feature flag +which prevents the registration of in-tree openstack cinder plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack.md new file mode 100644 index 0000000000..224d719357 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-open-stack.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationOpenStack +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the Cinder in-tree plugin to Cinder CSI plugin. Supports +falling back to in-tree Cinder plugin for mount operations to nodes that have +the feature disabled or that do not have Cinder CSI plugin installed and +configured. Does not support falling back for provision operations, for those +the CSI plugin must be installed and configured. Requires CSIMigration +feature flag enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-portworx.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-portworx.md new file mode 100644 index 0000000000..92739e96af --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-portworx.md @@ -0,0 +1,10 @@ +--- +title: CSIMigrationPortworx +content_type: feature_gate +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume operations +from the Portworx in-tree plugin to Portworx CSI plugin. +Requires Portworx CSI driver to be installed and configured in the cluster. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-rbd.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-rbd.md new file mode 100644 index 0000000000..f086872827 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration-rbd.md @@ -0,0 +1,13 @@ +--- +title: CSIMigrationRBD +content_type: feature_gate +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from the RBD in-tree plugin to Ceph RBD CSI plugin. Requires +CSIMigration and csiMigrationRBD feature flags enabled and Ceph CSI plugin +installed and configured in the cluster. This flag has been deprecated in +favor of the `InTreePluginRBDUnregister` feature flag which prevents the registration of +in-tree RBD plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration.md new file mode 100644 index 0000000000..6bb8b797d1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migration.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CSIMigration +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume +operations from in-tree plugins to corresponding pre-installed CSI plugins diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere-complete.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere-complete.md new file mode 100644 index 0000000000..632066594d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere-complete.md @@ -0,0 +1,16 @@ +--- +# Removed from Kubernetes +title: CSIMigrationvSphereComplete +content_type: feature_gate + +_build: + list: never + render: false +--- +Stops registering the vSphere in-tree plugin in kubelet +and volume controllers and enables shims and translation logic to route volume operations +from the vSphere in-tree plugin to vSphere CSI plugin. Requires CSIMigration and +CSIMigrationvSphere feature flags enabled and vSphere CSI plugin installed and +configured on all nodes in the cluster. This flag has been deprecated in favor +of the `InTreePluginvSphereUnregister` feature flag which prevents the +registration of in-tree vsphere plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere.md new file mode 100644 index 0000000000..630217b89a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-migrationv-sphere.md @@ -0,0 +1,14 @@ +--- +title: CSIMigrationvSphere +content_type: feature_gate +_build: + list: never + render: false +--- +Enables shims and translation logic to route volume operations +from the vSphere in-tree plugin to vSphere CSI plugin. Supports falling back +to in-tree vSphere plugin for mount operations to nodes that have the feature +disabled or that do not have vSphere CSI plugin installed and configured. +Does not support falling back for provision operations, for those the CSI +plugin must be installed and configured. Requires CSIMigration feature flag +enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-expand-secret.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-expand-secret.md new file mode 100644 index 0000000000..31c55b4a3d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-expand-secret.md @@ -0,0 +1,9 @@ +--- +title: CSINodeExpandSecret +content_type: feature_gate +_build: + list: never + render: false +--- +Enable passing secret authentication data to a CSI driver for use + during a `NodeExpandVolume` CSI operation. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-info.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-info.md new file mode 100644 index 0000000000..1c9665da13 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-node-info.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: CSINodeInfo +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable all logic related to the CSINodeInfo API object in `csi.storage.k8s.io`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-persistent-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-persistent-volume.md new file mode 100644 index 0000000000..2b1a6f3feb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-persistent-volume.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CSIPersistentVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable discovering and mounting volumes provisioned through a +[CSI (Container Storage Interface)](https://git.k8s.io/design-proposals-archive/storage/container-storage-interface.md) +compatible volume plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-service-account-token.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-service-account-token.md new file mode 100644 index 0000000000..fc9118df0a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-service-account-token.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CSIServiceAccountToken +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable CSI drivers to receive the pods' service account token +that they mount volumes for. See +[Token Requests](https://kubernetes-csi.github.io/docs/token-requests.html). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-storage-capacity.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-storage-capacity.md new file mode 100644 index 0000000000..f979e04286 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-storage-capacity.md @@ -0,0 +1,11 @@ +--- +title: CSIStorageCapacity +content_type: feature_gate +_build: + list: never + render: false +--- +Enables CSI drivers to publish storage capacity information +and the Kubernetes scheduler to use that information when scheduling pods. See +[Storage Capacity](/docs/concepts/storage/storage-capacity/). +Check the [`csi` volume type](/docs/concepts/storage/volumes/#csi) documentation for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-fs-group-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-fs-group-policy.md new file mode 100644 index 0000000000..0d044f11e7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-fs-group-policy.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CSIVolumeFSGroupPolicy +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows CSIDrivers to use the `fsGroupPolicy` field. +This field controls whether volumes created by a CSIDriver support volume ownership +and permission modifications when these volumes are mounted. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-health.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-health.md new file mode 100644 index 0000000000..3ba35cc866 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csi-volume-health.md @@ -0,0 +1,8 @@ +--- +title: CSIVolumeHealth +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for CSI volume health monitoring on node. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/csr-duration.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/csr-duration.md new file mode 100644 index 0000000000..1788e2bb21 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/csr-duration.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CSRDuration +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows clients to request a duration for certificates issued +via the Kubernetes CSR API. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-cpu-cfs-quota-period.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-cpu-cfs-quota-period.md new file mode 100644 index 0000000000..5860d7f0d9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-cpu-cfs-quota-period.md @@ -0,0 +1,9 @@ +--- +title: CustomCPUCFSQuotaPeriod +content_type: feature_gate +_build: + list: never + render: false +--- +Enable nodes to change `cpuCFSQuotaPeriod` in +[kubelet config](/docs/tasks/administer-cluster/kubelet-config-file/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-pod-dns.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-pod-dns.md new file mode 100644 index 0000000000..e02d8b2295 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-pod-dns.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: CustomPodDNS +content_type: feature_gate + +_build: + list: never + render: false +--- +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/custom-resource-defaulting.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-defaulting.md new file mode 100644 index 0000000000..072f55e72f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-defaulting.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: CustomResourceDefaulting +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable CRD support for default values in OpenAPI v3 validation schemas. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-publish-open-api.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-publish-open-api.md new file mode 100644 index 0000000000..8b00ad4e40 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-publish-open-api.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: CustomResourcePublishOpenAPI +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables publishing of CRD OpenAPI specs. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-subresources.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-subresources.md new file mode 100644 index 0000000000..2823a82a3e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-subresources.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CustomResourceSubresources +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable `/status` and `/scale` subresources +on resources created from [CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation-expressions.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation-expressions.md new file mode 100644 index 0000000000..ca1dee7c28 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation-expressions.md @@ -0,0 +1,10 @@ +--- +title: CustomResourceValidationExpressions +content_type: feature_gate +_build: + list: never + render: false +--- +Enable expression language validation in CRD +which will validate customer resource based on validation rules written in +the `x-kubernetes-validations` extension. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation.md new file mode 100644 index 0000000000..fa155be0af --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-validation.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CustomResourceValidation +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable schema based validation on resources created from +[CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-webhook-conversion.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-webhook-conversion.md new file mode 100644 index 0000000000..d142e85cd7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/custom-resource-webhook-conversion.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: CustomResourceWebhookConversion +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable webhook-based conversion +on resources created from [CustomResourceDefinition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/daemon-set-update-surge.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/daemon-set-update-surge.md new file mode 100644 index 0000000000..0e5f8be42a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/daemon-set-update-surge.md @@ -0,0 +1,11 @@ +--- +title: DaemonSetUpdateSurge +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the DaemonSet workloads to maintain +availability during update per node. +See [Perform a Rolling Update on a DaemonSet](/docs/tasks/manage-daemon/update-daemon-set/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/default-host-network-ports-in-pod-templates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/default-host-network-ports-in-pod-templates.md new file mode 100644 index 0000000000..d2b2395617 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/default-host-network-ports-in-pod-templates.md @@ -0,0 +1,13 @@ +--- +title: DefaultHostNetworkHostPortsInPodTemplates +content_type: feature_gate +_build: + list: never + render: false +--- +Changes when the default value of +`PodSpec.containers[*].ports[*].hostPort` +is assigned. The default is to only set a default value in Pods. + +Enabling this means a default will be assigned even to embedded +PodSpecs (e.g. in a Deployment), which is the historical default. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/default-pod-topology-spread.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/default-pod-topology-spread.md new file mode 100644 index 0000000000..f8dd08b72d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/default-pod-topology-spread.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: DefaultPodTopologySpread +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the use of `PodTopologySpread` scheduling plugin to do +[default spreading](/docs/concepts/scheduling-eviction/topology-spread-constraints/#internal-default-constraints). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/delegate-fs-group-to-csi-driver.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/delegate-fs-group-to-csi-driver.md new file mode 100644 index 0000000000..2ddbc1d067 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/delegate-fs-group-to-csi-driver.md @@ -0,0 +1,10 @@ +--- +title: DelegateFSGroupToCSIDriver +content_type: feature_gate +_build: + list: never + render: false +--- +If supported by the CSI driver, delegates the +role of applying `fsGroup` from a Pod's `securityContext` to the driver by +passing `fsGroup` through the NodeStageVolume and NodePublishVolume CSI calls. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugin-cdi-devices.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugin-cdi-devices.md new file mode 100644 index 0000000000..3cd9f6ae16 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugin-cdi-devices.md @@ -0,0 +1,9 @@ +--- +title: DevicePluginCDIDevices +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support to CDI device IDs in the +[Device Plugin](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) API. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugins.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugins.md new file mode 100644 index 0000000000..81ec3fe2cc --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/device-plugins.md @@ -0,0 +1,9 @@ +--- +title: DevicePlugins +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the [device-plugins](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) +based resource provisioning on nodes. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-accelerator-usage-metrics.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-accelerator-usage-metrics.md new file mode 100644 index 0000000000..75c5ab8285 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-accelerator-usage-metrics.md @@ -0,0 +1,8 @@ +--- +title: DisableAcceleratorUsageMetrics +content_type: feature_gate +_build: + list: never + render: false +--- +[Disable accelerator metrics collected by the kubelet](/docs/concepts/cluster-administration/system-metrics/#disable-accelerator-metrics). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-cloud-providers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-cloud-providers.md new file mode 100644 index 0000000000..fa9336b7aa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-cloud-providers.md @@ -0,0 +1,10 @@ +--- +title: DisableCloudProviders +content_type: feature_gate +_build: + list: never + render: false +--- +Disables any functionality in `kube-apiserver`, +`kube-controller-manager` and `kubelet` related to the `--cloud-provider` +component flag. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-kubelet-cloud-credential-providers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-kubelet-cloud-credential-providers.md new file mode 100644 index 0000000000..cbdca77084 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-kubelet-cloud-credential-providers.md @@ -0,0 +1,9 @@ +--- +title: DisableKubeletCloudCredentialProviders +content_type: feature_gate +_build: + list: never + render: false +--- +Disable the in-tree functionality in kubelet +to authenticate to a cloud provider container registry for image pull credentials. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-node-kube-proxy-version.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-node-kube-proxy-version.md new file mode 100644 index 0000000000..849dc08ab8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/disable-node-kube-proxy-version.md @@ -0,0 +1,8 @@ +--- +title: DisableNodeKubeProxyVersion +content_type: feature_gate +_build: + list: never + render: false +--- +Disable setting the `kubeProxyVersion` field of the Node. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/downward-api-huge-pages.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/downward-api-huge-pages.md new file mode 100644 index 0000000000..7262abcbbe --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/downward-api-huge-pages.md @@ -0,0 +1,9 @@ +--- +title: DownwardAPIHugePages +content_type: feature_gate +_build: + list: never + render: false +--- +Enables usage of hugepages in +[downward API](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dry-run.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dry-run.md new file mode 100644 index 0000000000..f0c068d08a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dry-run.md @@ -0,0 +1,9 @@ +--- +title: DryRun +content_type: feature_gate +_build: + list: never + render: false +--- +Enable server-side [dry run](/docs/reference/using-api/api-concepts/#dry-run) requests +so that validation, merging, and mutation can be tested without committing. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-auditing.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-auditing.md new file mode 100644 index 0000000000..d7abbd5212 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-auditing.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: DynamicAuditing +content_type: feature_gate + +_build: + list: never + render: false +--- +Used to enable dynamic auditing before v1.19. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-kubelet-config.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-kubelet-config.md new file mode 100644 index 0000000000..84360ca421 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-kubelet-config.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: DynamicKubeletConfig +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the dynamic configuration of kubelet. The +feature is no longer supported outside of supported skew policy. The feature +gate was removed from kubelet in 1.24. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-provisioning-scheduling.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-provisioning-scheduling.md new file mode 100644 index 0000000000..912036aca1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-provisioning-scheduling.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: DynamicProvisioningScheduling +content_type: feature_gate + +_build: + list: never + render: false +--- +Extend the default scheduler to be aware of +volume topology and handle PV provisioning. +This feature was superseded by the `VolumeScheduling` feature in v1.12. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-resource-allocation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-resource-allocation.md new file mode 100644 index 0000000000..3510967e12 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-resource-allocation.md @@ -0,0 +1,9 @@ +--- +title: DynamicResourceAllocation +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for resources with custom parameters and a lifecycle +that is independent of a Pod. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-volume-provisioning.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-volume-provisioning.md new file mode 100644 index 0000000000..196675e4f8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/dynamic-volume-provisioning.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: DynamicVolumeProvisioning +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the +[dynamic provisioning](/docs/concepts/storage/dynamic-provisioning/) of persistent volumes to Pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/efficient-watch-resumption.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/efficient-watch-resumption.md new file mode 100644 index 0000000000..ec6f524e84 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/efficient-watch-resumption.md @@ -0,0 +1,9 @@ +--- +title: EfficientWatchResumption +content_type: feature_gate +_build: + list: never + render: false +--- +Allows for storage-originated bookmark (progress +notify) events to be delivered to the users. This is only applied to watch operations. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/elastic-indexed-job.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/elastic-indexed-job.md new file mode 100644 index 0000000000..8370e6fef2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/elastic-indexed-job.md @@ -0,0 +1,11 @@ +--- +title: ElasticIndexedJob +content_type: feature_gate +_build: + list: never + render: false +--- +Enables Indexed Jobs to be scaled up or down by mutating both +`spec.completions` and `spec.parallelism` together such that `spec.completions == spec.parallelism`. +See docs on [elastic Indexed Jobs](/docs/concepts/workloads/controllers/job#elastic-indexed-jobs) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-aggregated-discovery-timeout.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-aggregated-discovery-timeout.md new file mode 100644 index 0000000000..44453f6d8c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-aggregated-discovery-timeout.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: EnableAggregatedDiscoveryTimeout +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the five second +timeout on aggregated discovery calls. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-equivalence-class-cache.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-equivalence-class-cache.md new file mode 100644 index 0000000000..87471bc245 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/enable-equivalence-class-cache.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: EnableEquivalenceClassCache +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the scheduler to cache equivalence of +nodes when scheduling Pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-node-name.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-node-name.md new file mode 100644 index 0000000000..c0433abb9c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-node-name.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: EndpointSliceNodeName +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables EndpointSlice `nodeName` field. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-proxying.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-proxying.md new file mode 100644 index 0000000000..b1f048517b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-proxying.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: EndpointSliceProxying +content_type: feature_gate + +_build: + list: never + render: false +--- +When enabled, kube-proxy running + on Linux will use EndpointSlices as the primary data source instead of + Endpoints, enabling scalability and performance improvements. See + [Enabling Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-terminating-condition.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-terminating-condition.md new file mode 100644 index 0000000000..b5c71ac20e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice-terminating-condition.md @@ -0,0 +1,9 @@ +--- +title: EndpointSliceTerminatingCondition +content_type: feature_gate +_build: + list: never + render: false +--- +Enables EndpointSlice `terminating` and `serving` + condition fields. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice.md new file mode 100644 index 0000000000..e912c594af --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/endpoint-slice.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: EndpointSlice +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables EndpointSlices for more scalable and extensible + network endpoints. See [Enabling EndpointSlices](/docs/concepts/services-networking/endpoint-slices/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/ephemeral-containers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/ephemeral-containers.md new file mode 100644 index 0000000000..03e79e76d3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/ephemeral-containers.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: EphemeralContainers +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the ability to add +{{< glossary_tooltip text="ephemeral containers" term_id="ephemeral-container" >}} +to running Pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/even-pods-spread.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/even-pods-spread.md new file mode 100644 index 0000000000..5a0b4a87f2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/even-pods-spread.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: EvenPodsSpread +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable pods to be scheduled evenly across topology domains. See +[Pod Topology Spread Constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/evented-pleg.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/evented-pleg.md new file mode 100644 index 0000000000..01721ccdf1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/evented-pleg.md @@ -0,0 +1,15 @@ +--- +title: EventedPLEG +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for the kubelet to receive container life cycle events from the +{{< glossary_tooltip text="container runtime" term_id="container-runtime" >}} via +an extension to {{}}. +(PLEG is an abbreviation for “Pod lifecycle event generator”). +For this feature to be useful, you also need to enable support for container lifecycle events +in each container runtime running in your cluster. If the container runtime does not announce +support for container lifecycle events then the kubelet automatically switches to the legacy +generic PLEG mechanism, even if you have this feature gate enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/exec-probe-timeout.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/exec-probe-timeout.md new file mode 100644 index 0000000000..a742a10b4f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/exec-probe-timeout.md @@ -0,0 +1,11 @@ +--- +title: ExecProbeTimeout +content_type: feature_gate +_build: + list: never + render: false +--- +Ensure kubelet respects exec probe timeouts. +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). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-csi-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-csi-volumes.md new file mode 100644 index 0000000000..78c9c9ab58 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-csi-volumes.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ExpandCSIVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the expanding of CSI volumes. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-in-use-persistent-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-in-use-persistent-volumes.md new file mode 100644 index 0000000000..75bc6788b5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-in-use-persistent-volumes.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ExpandInUsePersistentVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable expanding in-use PVCs. See +[Resizing an in-use PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#resizing-an-in-use-persistentvolumeclaim). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-persistent-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-persistent-volumes.md new file mode 100644 index 0000000000..83f5f5a22d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/expand-persistent-volumes.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ExpandPersistentVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the expanding of persistent volumes. See +[Expanding Persistent Volumes Claims](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/expanded-dns-config.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/expanded-dns-config.md new file mode 100644 index 0000000000..7e1e83f2a6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/expanded-dns-config.md @@ -0,0 +1,11 @@ +--- +title: ExpandedDNSConfig +content_type: feature_gate +_build: + list: never + render: false +--- +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). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/experimental-critical-pod-annotation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/experimental-critical-pod-annotation.md new file mode 100644 index 0000000000..6d3c4835f4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/experimental-critical-pod-annotation.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: ExperimentalCriticalPodAnnotation +content_type: feature_gate + +_build: + list: never + render: false +--- +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/experimental-host-user-namespace-defaulting.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/experimental-host-user-namespace-defaulting.md new file mode 100644 index 0000000000..802c59317f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/experimental-host-user-namespace-defaulting.md @@ -0,0 +1,12 @@ +--- +title: ExperimentalHostUserNamespaceDefaulting +content_type: feature_gate +_build: + list: never + render: false +--- +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 +capabilities (e.g. `MKNODE`, `SYS_MODULE` etc.). This should only be enabled +if user namespace remapping is enabled in the Docker daemon. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/external-policy-for-external-ip.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/external-policy-for-external-ip.md new file mode 100644 index 0000000000..cfd0fd3ddb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/external-policy-for-external-ip.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ExternalPolicyForExternalIP +content_type: feature_gate + +_build: + list: never + render: false +--- +Fix a bug where ExternalTrafficPolicy is not +applied to Service ExternalIPs. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/gce-regional-persistent-disk.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/gce-regional-persistent-disk.md new file mode 100644 index 0000000000..b8738d7232 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/gce-regional-persistent-disk.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: GCERegionalPersistentDisk +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the regional PD feature on GCE. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/generic-ephemeral-volume.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/generic-ephemeral-volume.md new file mode 100644 index 0000000000..8fd4f225c7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/generic-ephemeral-volume.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: GenericEphemeralVolume +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables ephemeral, inline volumes that support all features +of normal volumes (can be provided by third-party storage vendors, storage capacity tracking, +restore from snapshot, etc.). +See [Ephemeral Volumes](/docs/concepts/storage/ephemeral-volumes/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown-based-on-pod-priority.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown-based-on-pod-priority.md new file mode 100644 index 0000000000..dead74438a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown-based-on-pod-priority.md @@ -0,0 +1,9 @@ +--- +title: GracefulNodeShutdownBasedOnPodPriority +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the kubelet to check Pod priorities +when shutting down a node gracefully. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown.md new file mode 100644 index 0000000000..ed301a27bb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/graceful-node-shutdown.md @@ -0,0 +1,12 @@ +--- +title: GracefulNodeShutdown +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for graceful shutdown in kubelet. +During a system shutdown, kubelet will attempt to detect the shutdown event +and gracefully terminate pods running on the node. See +[Graceful Node Shutdown](/docs/concepts/architecture/nodes/#graceful-node-shutdown) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/grpc-container-probe.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/grpc-container-probe.md new file mode 100644 index 0000000000..6960e40de7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/grpc-container-probe.md @@ -0,0 +1,9 @@ +--- +title: GRPCContainerProbe +content_type: feature_gate +_build: + list: never + render: false +--- +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). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/honor-pv-reclaim-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/honor-pv-reclaim-policy.md new file mode 100644 index 0000000000..bffd6877df --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/honor-pv-reclaim-policy.md @@ -0,0 +1,11 @@ +--- +title: HonorPVReclaimPolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Honor persistent volume reclaim policy when it is `Delete` irrespective of PV-PVC deletion ordering. +For more details, check the +[PersistentVolume deletion protection finalizer](/docs/concepts/storage/persistent-volumes/#persistentvolume-deletion-protection-finalizer) +documentation. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-container-metrics.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-container-metrics.md new file mode 100644 index 0000000000..003a1354b2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-container-metrics.md @@ -0,0 +1,9 @@ +--- +title: HPAContainerMetrics +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `HorizontalPodAutoscaler` to scale based on +metrics from individual containers in target pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-scale-to-zero.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-scale-to-zero.md new file mode 100644 index 0000000000..4f200af8ee --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/hpa-scale-to-zero.md @@ -0,0 +1,9 @@ +--- +title: HPAScaleToZero +content_type: feature_gate +_build: + list: never + render: false +--- +Enables setting `minReplicas` to 0 for `HorizontalPodAutoscaler` +resources when using custom or external metrics. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-page-storage-medium-size.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-page-storage-medium-size.md new file mode 100644 index 0000000000..0e01d8ca48 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-page-storage-medium-size.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: HugePageStorageMediumSize +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable support for multiple sizes pre-allocated +[huge pages](/docs/tasks/manage-hugepages/scheduling-hugepages/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-pages.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-pages.md new file mode 100644 index 0000000000..cf8e10bfd4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/huge-pages.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: HugePages +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the allocation and consumption of pre-allocated +[huge pages](/docs/tasks/manage-hugepages/scheduling-hugepages/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/hyper-v-container.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/hyper-v-container.md new file mode 100644 index 0000000000..cb768d465b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/hyper-v-container.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: HyperVContainer +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable +[Hyper-V isolation](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container) +for Windows containers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/identify-pod-os.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/identify-pod-os.md new file mode 100644 index 0000000000..34a5d9d71f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/identify-pod-os.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: IdentifyPodOS +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows the Pod OS field to be specified. This helps in identifying +the OS of the pod authoritatively during the API server admission time. +In Kubernetes {{< skew currentVersion >}}, the allowed values for the `pod.spec.os.name` +are `windows` and `linux`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/immutable-ephemeral-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/immutable-ephemeral-volumes.md new file mode 100644 index 0000000000..ae6a98d239 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/immutable-ephemeral-volumes.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ImmutableEphemeralVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows for marking individual Secrets and ConfigMaps as +immutable for better safety and performance. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-place-pod-vertical-scaling.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-place-pod-vertical-scaling.md new file mode 100644 index 0000000000..13ef2960d1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-place-pod-vertical-scaling.md @@ -0,0 +1,8 @@ +--- +title: InPlacePodVerticalScaling +content_type: feature_gate +_build: + list: never + render: false +--- +Enables in-place Pod vertical scaling. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-aws-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-aws-unregister.md new file mode 100644 index 0000000000..fd35a7c40d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-aws-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginAWSUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the aws-ebs in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-disk-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-disk-unregister.md new file mode 100644 index 0000000000..380fe220bd --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-disk-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginAzureDiskUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the azuredisk in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-file-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-file-unregister.md new file mode 100644 index 0000000000..b4ae8e593a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-azure-file-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginAzureFileUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the azurefile in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-gce-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-gce-unregister.md new file mode 100644 index 0000000000..229bd7acc5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-gce-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginGCEUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the gce-pd in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-openstack-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-openstack-unregister.md new file mode 100644 index 0000000000..038112c8ff --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-openstack-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginOpenStackUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the OpenStack cinder in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-portworx-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-portworx-unregister.md new file mode 100644 index 0000000000..86551fcbe9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-portworx-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginPortworxUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the Portworx in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-rbd-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-rbd-unregister.md new file mode 100644 index 0000000000..d53ae0165d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-rbd-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginRBDUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the RBD in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-vsphere-unregister.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-vsphere-unregister.md new file mode 100644 index 0000000000..4e0e5fe2e3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/in-tree-plugin-vsphere-unregister.md @@ -0,0 +1,9 @@ +--- +title: InTreePluginvSphereUnregister +content_type: feature_gate +_build: + list: never + render: false +--- +Stops registering the vSphere in-tree plugin in kubelet +and volume controllers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/index.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/index.md new file mode 100644 index 0000000000..5ea27bccc9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/index.md @@ -0,0 +1,570 @@ +--- +title: Feature Gates +weight: 10 +content_type: concept +card: + name: reference + weight: 60 +--- + + +This page contains an overview of the various feature gates an administrator +can specify on different Kubernetes components. + +See [feature stages](#feature-stages) for an explanation of the stages for a feature. + + + +## Overview + +Feature gates are a set of key=value pairs that describe Kubernetes features. +You can turn these features on or off using the `--feature-gates` command line flag +on each Kubernetes component. + +Each Kubernetes component lets you enable or disable a set of feature gates that +are relevant to that component. +Use `-h` flag to see a full set of feature gates for all components. +To set feature gates for a component, such as kubelet, use the `--feature-gates` +flag assigned to a list of feature pairs: + +```shell +--feature-gates=...,GracefulNodeShutdown=true +``` + +The following tables are a summary of the feature gates that you can set on +different Kubernetes components. + +- The "Since" column contains the Kubernetes release when a feature is introduced + or its release stage is changed. +- The "Until" column, if not empty, contains the last Kubernetes release in which + you can still use a feature gate. +- If a feature is in the Alpha or Beta state, you can find the feature listed + in the [Alpha/Beta feature gate table](#feature-gates-for-alpha-or-beta-features). +- If a feature is stable you can find all stages for that feature listed in the + [Graduated/Deprecated feature gate table](#feature-gates-for-graduated-or-deprecated-features). +- The [Graduated/Deprecated feature gate table](#feature-gates-for-graduated-or-deprecated-features) + also lists deprecated and withdrawn features. + +{{< note >}} +For a reference to old feature gates that are removed, please refer to +[feature gates removed](/docs/reference/command-line-tools-reference/feature-gates-removed/). +{{< /note >}} + +### Feature gates for Alpha or Beta features + +{{< table caption="Feature gates for features in Alpha or Beta states" sortable="true" >}} + +| Feature | Default | Stage | Since | Until | +|---------|---------|-------|-------|-------| +| `APIPriorityAndFairness` | `false` | Alpha | 1.18 | 1.19 | +| `APIPriorityAndFairness` | `true` | Beta | 1.20 | | +| `APIResponseCompression` | `false` | Alpha | 1.7 | 1.15 | +| `APIResponseCompression` | `true` | Beta | 1.16 | | +| `APIServerIdentity` | `false` | Alpha | 1.20 | 1.25 | +| `APIServerIdentity` | `true` | Beta | 1.26 | | +| `APIServerTracing` | `false` | Alpha | 1.22 | 1.26 | +| `APIServerTracing` | `true` | Beta | 1.27 | | +| `AdmissionWebhookMatchConditions` | `false` | Alpha | 1.27 | 1.27 | +| `AdmissionWebhookMatchConditions` | `true` | Beta | 1.28 | | +| `AggregatedDiscoveryEndpoint` | `false` | Alpha | 1.26 | 1.26 | +| `AggregatedDiscoveryEndpoint` | `true` | Beta | 1.27 | | +| `AnyVolumeDataSource` | `false` | Alpha | 1.18 | 1.23 | +| `AnyVolumeDataSource` | `true` | Beta | 1.24 | | +| `AppArmor` | `true` | Beta | 1.4 | | +| `CPUManagerPolicyAlphaOptions` | `false` | Alpha | 1.23 | | +| `CPUManagerPolicyBetaOptions` | `true` | Beta | 1.23 | | +| `CPUManagerPolicyOptions` | `false` | Alpha | 1.22 | 1.22 | +| `CPUManagerPolicyOptions` | `true` | Beta | 1.23 | | +| `CRDValidationRatcheting` | `false` | Alpha | 1.28 | | +| `CSIMigrationPortworx` | `false` | Alpha | 1.23 | 1.24 | +| `CSIMigrationPortworx` | `false` | Beta | 1.25 | | +| `CSIVolumeHealth` | `false` | Alpha | 1.21 | | +| `CloudControllerManagerWebhook` | `false` | Alpha | 1.27 | | +| `CloudDualStackNodeIPs` | `false` | Alpha | 1.27 | 1.28 | +| `CloudDualStackNodeIPs` | `true` | Beta | 1.29 | | +| `ClusterTrustBundle` | false | Alpha | 1.27 | | +| `ClusterTrustBundleProjection` | `false` | Alpha | 1.29 | | +| `ComponentSLIs` | `false` | Alpha | 1.26 | 1.26 | +| `ComponentSLIs` | `true` | Beta | 1.27 | | +| `ConsistentListFromCache` | `false` | Alpha | 1.28 | | +| `ContainerCheckpoint` | `false` | Alpha | 1.25 | | +| `ContextualLogging` | `false` | Alpha | 1.24 | | +| `CronJobsScheduledAnnotation` | `true` | Beta | 1.28 | | +| `CrossNamespaceVolumeDataSource` | `false` | Alpha| 1.26 | | +| `CustomCPUCFSQuotaPeriod` | `false` | Alpha | 1.12 | | +| `DevicePluginCDIDevices` | `false` | Alpha | 1.28 | | +| `DisableCloudProviders` | `false` | Alpha | 1.22 | | +| `DisableKubeletCloudCredentialProviders` | `false` | Alpha | 1.23 | | +| `DisableNodeKubeProxyVersion` | `false` | Alpha | 1.29 | | +| `DynamicResourceAllocation` | `false` | Alpha | 1.26 | | +| `ElasticIndexedJob` | `true` | Beta | 1.27 | | +| `EventedPLEG` | `false` | Alpha | 1.26 | 1.26 | +| `EventedPLEG` | `false` | Beta | 1.27 | | +| `GracefulNodeShutdown` | `false` | Alpha | 1.20 | 1.20 | +| `GracefulNodeShutdown` | `true` | Beta | 1.21 | | +| `GracefulNodeShutdownBasedOnPodPriority` | `false` | Alpha | 1.23 | 1.23 | +| `GracefulNodeShutdownBasedOnPodPriority` | `true` | Beta | 1.24 | | +| `HPAContainerMetrics` | `false` | Alpha | 1.20 | 1.26 | +| `HPAContainerMetrics` | `true` | Beta | 1.27 | | +| `HPAScaleToZero` | `false` | Alpha | 1.16 | | +| `HonorPVReclaimPolicy` | `false` | Alpha | 1.23 | | +| `InPlacePodVerticalScaling` | `false` | Alpha | 1.27 | | +| `InTreePluginAWSUnregister` | `false` | Alpha | 1.21 | | +| `InTreePluginAzureDiskUnregister` | `false` | Alpha | 1.21 | | +| `InTreePluginAzureFileUnregister` | `false` | Alpha | 1.21 | | +| `InTreePluginGCEUnregister` | `false` | Alpha | 1.21 | | +| `InTreePluginOpenStackUnregister` | `false` | Alpha | 1.21 | | +| `InTreePluginPortworxUnregister` | `false` | Alpha | 1.23 | | +| `InTreePluginvSphereUnregister` | `false` | Alpha | 1.21 | | +| `JobBackoffLimitPerIndex` | `false` | Alpha | 1.28 | 1.28 | +| `JobBackoffLimitPerIndex` | `true` | Beta | 1.29 | | +| `JobPodFailurePolicy` | `false` | Alpha | 1.25 | 1.25 | +| `JobPodFailurePolicy` | `true` | Beta | 1.26 | | +| `JobPodReplacementPolicy` | `false` | Alpha | 1.28 | 1.28 | +| `JobPodReplacementPolicy` | `true` | Beta | 1.29 | | +| `KubeProxyDrainingTerminatingNodes` | `false` | Alpha | 1.28 | | +| `KubeletCgroupDriverFromCRI` | `false` | Alpha | 1.28 | | +| `KubeletInUserNamespace` | `false` | Alpha | 1.22 | | +| `KubeletPodResourcesDynamicResources` | `false` | Alpha | 1.27 | | +| `KubeletPodResourcesGet` | `false` | Alpha | 1.27 | | +| `KubeletTracing` | `false` | Alpha | 1.25 | 1.26 | +| `KubeletTracing` | `true` | Beta | 1.27 | | +| `LegacyServiceAccountTokenCleanUp` | `false` | Alpha | 1.28 | 1.28 | +| `LegacyServiceAccountTokenCleanUp` | `true` | Beta | 1.29 | | +| `LoadBalancerIPMode` | `false` | Alpha | 1.29 | | +| `LocalStorageCapacityIsolationFSQuotaMonitoring` | `false` | Alpha | 1.15 | - | +| `LogarithmicScaleDown` | `false` | Alpha | 1.21 | 1.21 | +| `LogarithmicScaleDown` | `true` | Beta | 1.22 | | +| `LoggingAlphaOptions` | `false` | Alpha | 1.24 | - | +| `LoggingBetaOptions` | `true` | Beta | 1.24 | - | +| `MatchLabelKeysInPodAffinity` | `false` | Alpha | 1.29 | - | +| `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 | | +| `MemoryQoS` | `false` | Alpha | 1.22 | | +| `MinDomainsInPodTopologySpread` | `false` | Alpha | 1.24 | 1.24 | +| `MinDomainsInPodTopologySpread` | `false` | Beta | 1.25 | 1.26 | +| `MinDomainsInPodTopologySpread` | `true` | Beta | 1.27 | | +| `MultiCIDRServiceAllocator` | `false` | Alpha | 1.27 | | +| `NewVolumeManagerReconstruction` | `false` | Beta | 1.27 | 1.27 | +| `NewVolumeManagerReconstruction` | `true` | Beta | 1.28 | | +| `NodeInclusionPolicyInPodTopologySpread` | `false` | Alpha | 1.25 | 1.25 | +| `NodeInclusionPolicyInPodTopologySpread` | `true` | Beta | 1.26 | | +| `NodeLogQuery` | `false` | Alpha | 1.27 | | +| `NodeSwap` | `false` | Alpha | 1.22 | 1.27 | +| `NodeSwap` | `false` | Beta | 1.28 | | +| `OpenAPIEnums` | `false` | Alpha | 1.23 | 1.23 | +| `OpenAPIEnums` | `true` | Beta | 1.24 | | +| `PDBUnhealthyPodEvictionPolicy` | `false` | Alpha | 1.26 | 1.26 | +| `PDBUnhealthyPodEvictionPolicy` | `true` | Beta | 1.27 | | +| `PersistentVolumeLastPhaseTransistionTime` | `false` | Alpha | 1.28 | 1.28 | +| `PersistentVolumeLastPhaseTransistionTime` | `true` | Beta | 1.29 | | +| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | | +| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 | +| `PodDeletionCost` | `true` | Beta | 1.22 | | +| `PodDisruptionConditions` | `false` | Alpha | 1.25 | 1.25 | +| `PodDisruptionConditions` | `true` | Beta | 1.26 | | +| `PodHostIPs` | `false` | Alpha | 1.28 | 1.28 | +| `PodHostIPs` | `true` | Beta | 1.29 | | +| `PodIndexLabel` | `true` | Beta | 1.28 | | +| `PodLifecycleSleepAction` | `false` | Alpha | 1.29 | | +| `PodReadyToStartContainersCondition` | `false` | Alpha | 1.28 | 1.28 | +| `PodReadyToStartContainersCondition` | `true` | Beta | 1.29 | | +| `PodSchedulingReadiness` | `false` | Alpha | 1.26 | 1.26 | +| `PodSchedulingReadiness` | `true` | Beta | 1.27 | | +| `ProcMountType` | `false` | Alpha | 1.12 | | +| `QOSReserved` | `false` | Alpha | 1.11 | | +| `RecoverVolumeExpansionFailure` | `false` | Alpha | 1.23 | | +| `RemainingItemCount` | `false` | Alpha | 1.15 | 1.15 | +| `RemainingItemCount` | `true` | Beta | 1.16 | | +| `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | 1.11 | +| `RotateKubeletServerCertificate` | `true` | Beta | 1.12 | | +| `RuntimeClassInImageCriApi` | `false` | Alpha | 1.29 | | +| `SELinuxMountReadWriteOncePod` | `false` | Alpha | 1.25 | 1.26 | +| `SELinuxMountReadWriteOncePod` | `false` | Beta | 1.27 | 1.27 | +| `SELinuxMountReadWriteOncePod` | `true` | Beta | 1.28 | | +| `SchedulerQueueingHints` | `true` | Beta | 1.28 | 1.29 | +| `SchedulerQueueingHints` | `false` | Beta | 1.29 | | +| `SecurityContextDeny` | `false` | Alpha | 1.27 | | +| `SeparateTaintEvictionController` | `true` | Beta | 1.29 | | +| `ServiceAccountTokenJTI` | `false` | Alpha | 1.29 | | +| `ServiceAccountTokenNodeBinding` | `false` | Alpha | 1.29 | | +| `ServiceAccountTokenNodeBindingValidation` | `false` | Alpha | 1.29 | | +| `ServiceAccountTokenPodNodeInfo` | `false` | Alpha | 1.29 | | +| `SidecarContainers` | `false` | Alpha | 1.28 | 1.28 | +| `SidecarContainers` | `true` | Beta | 1.29 | | +| `SizeMemoryBackedVolumes` | `false` | Alpha | 1.20 | 1.21 | +| `SizeMemoryBackedVolumes` | `true` | Beta | 1.22 | | +| `StableLoadBalancerNodeSet` | `true` | Beta | 1.27 | | +| `StatefulSetAutoDeletePVC` | `false` | Alpha | 1.23 | 1.26 | +| `StatefulSetAutoDeletePVC` | `false` | Beta | 1.27 | | +| `StatefulSetStartOrdinal` | `false` | Alpha | 1.26 | 1.26 | +| `StatefulSetStartOrdinal` | `true` | Beta | 1.27 | | +| `StorageVersionAPI` | `false` | Alpha | 1.20 | | +| `StorageVersionHash` | `false` | Alpha | 1.14 | 1.14 | +| `StorageVersionHash` | `true` | Beta | 1.15 | | +| `TopologyAwareHints` | `false` | Alpha | 1.21 | 1.22 | +| `TopologyAwareHints` | `false` | Beta | 1.23 | 1.23 | +| `TopologyAwareHints` | `true` | Beta | 1.24 | | +| `TopologyManagerPolicyAlphaOptions` | `false` | Alpha | 1.26 | | +| `TopologyManagerPolicyBetaOptions` | `false` | Beta | 1.26 | 1.27 | +| `TopologyManagerPolicyBetaOptions` | `true` | Beta | 1.28 | | +| `TopologyManagerPolicyOptions` | `false` | Alpha | 1.26 | 1.27 | +| `TopologyManagerPolicyOptions` | `true` | Beta | 1.28 | | +| `TranslateStreamCloseWebsocketRequests` | `false` | Alpha | 1.29 | | +| `UnauthenticatedHTTP2DOSMitigation` | `false` | Beta | 1.28 | | +| `UnauthenticatedHTTP2DOSMitigation` | `true` | Beta | 1.29 | | +| `UnknownVersionInteroperabilityProxy` | `false` | Alpha | 1.28 | | +| `UserNamespacesPodSecurityStandards` | `false` | Alpha | 1.29 | | +| `UserNamespacesSupport` | `false` | Alpha | 1.28 | | +| `ValidatingAdmissionPolicy` | `false` | Alpha | 1.26 | 1.27 | +| `ValidatingAdmissionPolicy` | `false` | Beta | 1.28 | | +| `VolumeCapacityPriority` | `false` | Alpha | 1.21 | | +| `VolumeAttributesClass` | `false` | Alpha | 1.29 | | +| `WatchList` | `false` | Alpha | 1.27 | | +| `WinDSR` | `false` | Alpha | 1.14 | | +| `WinOverlay` | `false` | Alpha | 1.14 | 1.19 | +| `WinOverlay` | `true` | Beta | 1.20 | | +| `WindowsHostNetwork` | `true` | Alpha | 1.26 | | +{{< /table >}} + +### Feature gates for graduated or deprecated features + +{{< table caption="Feature Gates for Graduated or Deprecated Features" sortable="true">}} + +| Feature | Default | Stage | Since | Until | +|---------|---------|-------|-------|-------| +| `APIListChunking` | `false` | Alpha | 1.8 | 1.8 | +| `APIListChunking` | `true` | Beta | 1.9 | 1.28 | +| `APIListChunking` | `true` | GA | 1.29 | - | +| `APISelfSubjectReview` | `false` | Alpha | 1.26 | 1.26 | +| `APISelfSubjectReview` | `true` | Beta | 1.27 | 1.27 | +| `APISelfSubjectReview` | `true` | GA | 1.28 | - | +| `CPUManager` | `false` | Alpha | 1.8 | 1.9 | +| `CPUManager` | `true` | Beta | 1.10 | 1.25 | +| `CPUManager` | `true` | GA | 1.26 | - | +| `CSIMigrationAzureFile` | `false` | Alpha | 1.15 | 1.20 | +| `CSIMigrationAzureFile` | `false` | Beta | 1.21 | 1.23 | +| `CSIMigrationAzureFile` | `true` | Beta | 1.24 | 1.25 | +| `CSIMigrationAzureFile` | `true` | GA | 1.26 | | +| `CSIMigrationRBD` | `false` | Alpha | 1.23 | 1.27 | +| `CSIMigrationRBD` | `false` | Deprecated | 1.28 | | +| `CSIMigrationvSphere` | `false` | Alpha | 1.18 | 1.18 | +| `CSIMigrationvSphere` | `false` | Beta | 1.19 | 1.24 | +| `CSIMigrationvSphere` | `true` | Beta | 1.25 | 1.25 | +| `CSIMigrationvSphere` | `true` | GA | 1.26 | - | +| `CSINodeExpandSecret` | `false` | Alpha | 1.25 | 1.26 | +| `CSINodeExpandSecret` | `true` | Beta | 1.27 | 1.28 | +| `CSINodeExpandSecret` | `true` | GA | 1.29 | | +| `ComponentSLIs` | `false` | Alpha | 1.26 | 1.26 | +| `ComponentSLIs` | `true` | Beta | 1.27 | 1.28| +| `ComponentSLIs` | `true` | GA | 1.29 | - | +| `ConsistentHTTPGetHandlers` | `true` | GA | 1.25 | - | +| `CustomResourceValidationExpressions` | `false` | Alpha | 1.23 | 1.24 | +| `CustomResourceValidationExpressions` | `true` | Beta | 1.25 | 1.28 | +| `CustomResourceValidationExpressions` | `true` | GA | 1.29 | - | +| `DaemonSetUpdateSurge` | `false` | Alpha | 1.21 | 1.21 | +| `DaemonSetUpdateSurge` | `true` | Beta | 1.22 | 1.24 | +| `DaemonSetUpdateSurge` | `true` | GA | 1.25 | | +| `DefaultHostNetworkHostPortsInPodTemplates` | `false` | Deprecated | 1.28 | | +| `EfficientWatchResumption` | `false` | Alpha | 1.20 | 1.20 | +| `EfficientWatchResumption` | `true` | Beta | 1.21 | 1.23 | +| `EfficientWatchResumption` | `true` | GA | 1.24 | | +| `ExecProbeTimeout` | `true` | GA | 1.20 | | +| `ExpandedDNSConfig` | `false` | Alpha | 1.22 | 1.25 | +| `ExpandedDNSConfig` | `true` | Beta | 1.26 | 1.27 | +| `ExpandedDNSConfig` | `true` | GA | 1.28 | | +| `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | 1.27 | +| `ExperimentalHostUserNamespaceDefaulting` | `false` | Deprecated | 1.28 | | +| `IPTablesOwnershipCleanup` | `false` | Alpha | 1.25 | 1.26 | +| `IPTablesOwnershipCleanup` | `true` | Beta | 1.27 | 1.27 | +| `IPTablesOwnershipCleanup` | `true` | GA | 1.28 | | +| `InTreePluginRBDUnregister` | `false` | Alpha | 1.23 | 1.27 | +| `InTreePluginRBDUnregister` | `false` | Deprecated | 1.28 | | +| `JobReadyPods` | `false` | Alpha | 1.23 | 1.23 | +| `JobReadyPods` | `true` | Beta | 1.24 | 1.28 | +| `JobReadyPods` | `true` | GA | 1.29 | | +| `JobTrackingWithFinalizers` | `false` | Alpha | 1.22 | 1.22 | +| `JobTrackingWithFinalizers` | `false` | Beta | 1.23 | 1.24 | +| `JobTrackingWithFinalizers` | `true` | Beta | 1.25 | 1.25 | +| `JobTrackingWithFinalizers` | `true` | GA | 1.26 | | +| `KMSv1` | `true` | Deprecated | 1.28 | 1.28 | +| `KMSv1` | `false` | Deprecated | 1.29 | | +| `KMSv2` | `false` | Alpha | 1.25 | 1.26 | +| `KMSv2` | `true` | Beta | 1.27 | 1.28 | +| `KMSv2` | `true` | GA | 1.29 | | +| `KMSv2KDF` | `false` | Beta | 1.28 | 1.28 | +| `KMSv2KDF` | `true` | GA | 1.29 | | +| `KubeletPodResources` | `false` | Alpha | 1.13 | 1.14 | +| `KubeletPodResources` | `true` | Beta | 1.15 | 1.27 | +| `KubeletPodResources` | `true` | GA | 1.28 | | +| `KubeletPodResourcesGetAllocatable` | `false` | Alpha | 1.21 | 1.22 | +| `KubeletPodResourcesGetAllocatable` | `true` | Beta | 1.23 | 1.27 | +| `KubeletPodResourcesGetAllocatable` | `true` | GA | 1.28 | | +| `LegacyServiceAccountTokenTracking` | `false` | Alpha | 1.26 | 1.26 | +| `LegacyServiceAccountTokenTracking` | `true` | Beta | 1.27 | 1.27 | +| `LegacyServiceAccountTokenTracking` | `true` | GA | 1.28 | | +| `MinimizeIPTablesRestore` | `false` | Alpha | 1.26 | 1.26 | +| `MinimizeIPTablesRestore` | `true` | Beta | 1.27 | 1.27 | +| `MinimizeIPTablesRestore` | `true` | GA | 1.28 | | +| `NodeOutOfServiceVolumeDetach` | `false` | Alpha | 1.24 | 1.25 | +| `NodeOutOfServiceVolumeDetach` | `true` | Beta | 1.26 | 1.27 | +| `NodeOutOfServiceVolumeDetach` | `true` | GA | 1.28 | | +| `OpenAPIV3` | `false` | Alpha | 1.23 | 1.23 | +| `OpenAPIV3` | `true` | Beta | 1.24 | 1.26 | +| `OpenAPIV3` | `true` | GA | 1.27 | | +| `ProbeTerminationGracePeriod` | `false` | Alpha | 1.21 | 1.21 | +| `ProbeTerminationGracePeriod` | `false` | Beta | 1.22 | 1.24 | +| `ProbeTerminationGracePeriod` | `true` | Beta | 1.25 | 1.27 | +| `ProbeTerminationGracePeriod` | `true` | GA | 1.28 | | +| `ProxyTerminatingEndpoints` | `false` | Alpha | 1.22 | 1.25 | +| `ProxyTerminatingEndpoints` | `true` | Beta | 1.26 | 1.27 | +| `ProxyTerminatingEndpoints` | `true` | GA | 1.28 | | +| `ReadWriteOncePod` | `false` | Alpha | 1.22 | 1.26 | +| `ReadWriteOncePod` | `true` | Beta | 1.27 | 1.28 | +| `ReadWriteOncePod` | `true` | GA | 1.29 | | +| `RemoveSelfLink` | `false` | Alpha | 1.16 | 1.19 | +| `RemoveSelfLink` | `true` | Beta | 1.20 | 1.23 | +| `RemoveSelfLink` | `true` | GA | 1.24 | | +| `SeccompDefault` | `false` | Alpha | 1.22 | 1.24 | +| `SeccompDefault` | `true` | Beta | 1.25 | 1.26 | +| `SeccompDefault` | `true` | GA | 1.27 | - | +| `ServerSideApply` | `false` | Alpha | 1.14 | 1.15 | +| `ServerSideApply` | `true` | Beta | 1.16 | 1.21 | +| `ServerSideApply` | `true` | GA | 1.22 | - | +| `ServerSideFieldValidation` | `false` | Alpha | 1.23 | 1.24 | +| `ServerSideFieldValidation` | `true` | Beta | 1.25 | 1.26 | +| `ServerSideFieldValidation` | `true` | GA | 1.27 | - | +| `ServiceIPStaticSubrange` | `false` | Alpha | 1.24 | 1.24 | +| `ServiceIPStaticSubrange` | `true` | Beta | 1.25 | 1.25 | +| `ServiceIPStaticSubrange` | `true` | GA | 1.26 | - | +| `ServiceInternalTrafficPolicy` | `false` | Alpha | 1.21 | 1.21 | +| `ServiceInternalTrafficPolicy` | `true` | Beta | 1.22 | 1.25 | +| `ServiceInternalTrafficPolicy` | `true` | GA | 1.26 | - | +| `ServiceNodePortStaticSubrange` | `false` | Alpha | 1.27 | 1.27 | +| `ServiceNodePortStaticSubrange` | `true` | Beta | 1.28 | 1.28 | +| `ServiceNodePortStaticSubrange` | `true` | GA | 1.29 | - | +| `SkipReadOnlyValidationGCE` | `false` | Alpha | 1.28 | 1.28 | +| `SkipReadOnlyValidationGCE` | `true` | Deprecated | 1.29 | | +| `WatchBookmark` | `false` | Alpha | 1.15 | 1.15 | +| `WatchBookmark` | `true` | Beta | 1.16 | 1.16 | +| `WatchBookmark` | `true` | GA | 1.17 | - | +{{< /table >}} + +## Using a feature + +### Feature stages + +A feature can be in *Alpha*, *Beta* or *GA* stage. +An *Alpha* feature means: + +* Disabled by default. +* Might be buggy. Enabling the feature may expose bugs. +* Support for feature may be dropped at any time without notice. +* The API may change in incompatible ways in a later software release without notice. +* Recommended for use only in short-lived testing clusters, due to increased + risk of bugs and lack of long-term support. + +A *Beta* feature means: + +* Usually enabled by default. Beta API groups are + [disabled by default](https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3136-beta-apis-off-by-default). +* The feature is well tested. Enabling the feature is considered safe. +* Support for the overall feature will not be dropped, though details may change. +* The schema and/or semantics of objects may change in incompatible ways in a + subsequent beta or stable release. When this happens, we will provide instructions + for migrating to the next version. This may require deleting, editing, and + re-creating API objects. The editing process may require some thought. + This may require downtime for applications that rely on the feature. +* Recommended for only non-business-critical uses because of potential for + incompatible changes in subsequent releases. If you have multiple clusters + that can be upgraded independently, you may be able to relax this restriction. + +{{< note >}} +Please do try *Beta* features and give feedback on them! +After they exit beta, it may not be practical for us to make more changes. +{{< /note >}} + +A *General Availability* (GA) feature is also referred to as a *stable* feature. It means: + +* The feature is always enabled; you cannot disable it. +* The corresponding feature gate is no longer needed. +* Stable versions of features will appear in released software for many subsequent versions. + +## List of feature gates {#feature-gates} + +Each feature gate is designed for enabling/disabling a specific feature: + +- {{< feature-gate-description name="AdmissionWebhookMatchConditions" >}} +- {{< feature-gate-description name="AggregatedDiscoveryEndpoint" >}} +- {{< feature-gate-description name="AnyVolumeDataSource" >}} +- {{< feature-gate-description name="APIListChunking" >}} +- {{< feature-gate-description name="APIPriorityAndFairness" >}} +- {{< feature-gate-description name="APIResponseCompression" >}} +- {{< feature-gate-description name="APISelfSubjectReview" >}} +- {{< feature-gate-description name="APIServerIdentity" >}} +- {{< feature-gate-description name="APIServerTracing" >}} +- {{< feature-gate-description name="AppArmor" >}} +- {{< feature-gate-description name="CloudControllerManagerWebhook" >}} +- {{< feature-gate-description name="CloudDualStackNodeIPs" >}} +- {{< feature-gate-description name="ClusterTrustBundle" >}} +- {{< feature-gate-description name="ClusterTrustBundleProjection" >}} +- {{< feature-gate-description name="ComponentSLIs" >}} +- {{< feature-gate-description name="ConsistentHTTPGetHandlers" >}} +- {{< feature-gate-description name="ConsistentListFromCache" >}} +- {{< feature-gate-description name="ContainerCheckpoint" >}} +- {{< feature-gate-description name="ContextualLogging" >}} +- {{< feature-gate-description name="CPUManager" >}} +- {{< feature-gate-description name="CPUManagerPolicyAlphaOptions" >}} +- {{< feature-gate-description name="CPUManagerPolicyBetaOptions" >}} +- {{< feature-gate-description name="CPUManagerPolicyOptions" >}} +- {{< feature-gate-description name="CRDValidationRatcheting" >}} +- {{< feature-gate-description name="CronJobsScheduledAnnotation" >}} +- {{< feature-gate-description name="CronJobTimeZone" >}} +- {{< feature-gate-description name="CrossNamespaceVolumeDataSource" >}} +- {{< feature-gate-description name="CSIMigrationAzureFile" >}} +- {{< feature-gate-description name="CSIMigrationPortworx" >}} +- {{< feature-gate-description name="CSIMigrationRBD" >}} +- {{< feature-gate-description name="CSIMigrationvSphere" >}} +- {{< feature-gate-description name="CSINodeExpandSecret" >}} +- {{< feature-gate-description name="CSIVolumeHealth" >}} +- {{< feature-gate-description name="CustomCPUCFSQuotaPeriod" >}} +- {{< feature-gate-description name="CustomResourceValidationExpressions" >}} +- {{< feature-gate-description name="DaemonSetUpdateSurge" >}} +- {{< feature-gate-description name="DefaultHostNetworkHostPortsInPodTemplates" >}} +- {{< feature-gate-description name="DevicePluginCDIDevices" >}} +- {{< feature-gate-description name="DisableCloudProviders" >}} +- {{< feature-gate-description name="DisableKubeletCloudCredentialProviders" >}} +- {{< feature-gate-description name="DisableNodeKubeProxyVersion" >}} +- {{< feature-gate-description name="DynamicResourceAllocation" >}} +- {{< feature-gate-description name="EfficientWatchResumption" >}} +- {{< feature-gate-description name="ElasticIndexedJob" >}} +- {{< feature-gate-description name="EventedPLEG" >}} +- {{< feature-gate-description name="ExecProbeTimeout" >}} +- {{< feature-gate-description name="ExpandedDNSConfig" >}} +- {{< feature-gate-description name="ExperimentalHostUserNamespaceDefaulting" >}} +- {{< feature-gate-description name="GracefulNodeShutdown" >}} +- {{< feature-gate-description name="GracefulNodeShutdownBasedOnPodPriority" >}} +- {{< feature-gate-description name="GRPCContainerProbe" >}} +- {{< feature-gate-description name="HonorPVReclaimPolicy" >}} +- {{< feature-gate-description name="HPAContainerMetrics" >}} +- {{< feature-gate-description name="HPAScaleToZero" >}} +- {{< feature-gate-description name="InPlacePodVerticalScaling" >}} +- {{< feature-gate-description name="InTreePluginAWSUnregister" >}} +- {{< feature-gate-description name="InTreePluginAzureDiskUnregister" >}} +- {{< feature-gate-description name="InTreePluginAzureFileUnregister" >}} +- {{< feature-gate-description name="InTreePluginGCEUnregister" >}} +- {{< feature-gate-description name="InTreePluginOpenStackUnregister" >}} +- {{< feature-gate-description name="InTreePluginPortworxUnregister" >}} +- {{< feature-gate-description name="InTreePluginRBDUnregister" >}} +- {{< feature-gate-description name="InTreePluginvSphereUnregister" >}} +- {{< feature-gate-description name="IPTablesOwnershipCleanup" >}} +- {{< feature-gate-description name="JobBackoffLimitPerIndex" >}} +- {{< feature-gate-description name="JobMutableNodeSchedulingDirectives" >}} +- {{< feature-gate-description name="JobPodFailurePolicy" >}} +- {{< feature-gate-description name="JobPodReplacementPolicy" >}} +- {{< feature-gate-description name="JobReadyPods" >}} +- {{< feature-gate-description name="JobTrackingWithFinalizers" >}} +- {{< feature-gate-description name="KMSv1" >}} +- {{< feature-gate-description name="KMSv2" >}} +- {{< feature-gate-description name="KMSv2KDF" >}} +- {{< feature-gate-description name="KubeletCgroupDriverFromCRI" >}} +- {{< feature-gate-description name="KubeletInUserNamespace" >}} +- {{< feature-gate-description name="KubeletPodResources" >}} +- {{< feature-gate-description name="KubeletPodResourcesDynamicResources" >}} +- {{< feature-gate-description name="KubeletPodResourcesGet" >}} +- {{< feature-gate-description name="KubeletPodResourcesGetAllocatable" >}} +- {{< feature-gate-description name="KubeletTracing" >}} +- {{< feature-gate-description name="KubeProxyDrainingTerminatingNodes" >}} +- {{< feature-gate-description name="LegacyServiceAccountTokenCleanUp" >}} +- {{< feature-gate-description name="LegacyServiceAccountTokenNoAutoGeneration" >}} +- {{< feature-gate-description name="LegacyServiceAccountTokenTracking" >}} +- {{< feature-gate-description name="LoadBalancerIPMode" >}} +- {{< feature-gate-description name="LocalStorageCapacityIsolationFSQuotaMonitoring" >}} +- {{< feature-gate-description name="LogarithmicScaleDown" >}} +- {{< feature-gate-description name="LoggingAlphaOptions" >}} +- {{< feature-gate-description name="LoggingBetaOptions" >}} +- {{< feature-gate-description name="MatchLabelKeysInPodAffinity" >}} +- {{< feature-gate-description name="MatchLabelKeysInPodTopologySpread" >}} +- {{< feature-gate-description name="MaxUnavailableStatefulSet" >}} +- {{< feature-gate-description name="MemoryManager" >}} +- {{< feature-gate-description name="MemoryQoS" >}} +- {{< feature-gate-description name="MinDomainsInPodTopologySpread" >}} +- {{< feature-gate-description name="MinimizeIPTablesRestore" >}} +- {{< feature-gate-description name="MultiCIDRServiceAllocator" >}} +- {{< feature-gate-description name="NewVolumeManagerReconstruction" >}} +- {{< feature-gate-description name="NodeInclusionPolicyInPodTopologySpread" >}} +- {{< feature-gate-description name="NodeLogQuery" >}} +- {{< feature-gate-description name="NodeOutOfServiceVolumeDetach" >}} +- {{< feature-gate-description name="NodeSwap" >}} +- {{< feature-gate-description name="OpenAPIEnums" >}} +- {{< feature-gate-description name="OpenAPIV3" >}} +- {{< feature-gate-description name="PDBUnhealthyPodEvictionPolicy" >}} +- {{< feature-gate-description name="PersistentVolumeLastPhaseTransitionTime" >}} +- {{< feature-gate-description name="PodAndContainerStatsFromCRI" >}} +- {{< feature-gate-description name="PodDeletionCost" >}} +- {{< feature-gate-description name="PodDisruptionConditions" >}} +- {{< feature-gate-description name="PodHostIPs" >}} +- {{< feature-gate-description name="PodIndexLabel" >}} +- {{< feature-gate-description name="PodLifecycleSleepAction" >}} +- {{< feature-gate-description name="PodReadyToStartContainersCondition" >}} +- {{< feature-gate-description name="PodSchedulingReadiness" >}} +- {{< feature-gate-description name="ProbeTerminationGracePeriod" >}} +- {{< feature-gate-description name="ProcMountType" >}} +- {{< feature-gate-description name="ProxyTerminatingEndpoints" >}} +- {{< feature-gate-description name="QOSReserved" >}} +- {{< feature-gate-description name="ReadWriteOncePod" >}} +- {{< feature-gate-description name="RecoverVolumeExpansionFailure" >}} +- {{< feature-gate-description name="RemainingItemCount" >}} +- {{< feature-gate-description name="RemoveSelfLink" >}} +- {{< feature-gate-description name="RotateKubeletServerCertificate" >}} +- {{< feature-gate-description name="RuntimeClassInImageCriApi" >}} +- {{< feature-gate-description name="SchedulerQueueingHints" >}} +- {{< feature-gate-description name="SeccompDefault" >}} +- {{< feature-gate-description name="SecurityContextDeny" >}} +- {{< feature-gate-description name="SELinuxMountReadWriteOncePod" >}} +- {{< feature-gate-description name="SeparateTaintEvictionController" >}} +- {{< feature-gate-description name="ServerSideApply" >}} +- {{< feature-gate-description name="ServerSideFieldValidation" >}} +- {{< feature-gate-description name="ServiceAccountTokenJTI" >}} +- {{< feature-gate-description name="ServiceAccountTokenNodeBinding" >}} +- {{< feature-gate-description name="ServiceAccountTokenNodeBindingValidation" >}} +- {{< feature-gate-description name="ServiceAccountTokenPodNodeInfo" >}} +- {{< feature-gate-description name="ServiceNodePortStaticSubrange" >}} +- {{< feature-gate-description name="SidecarContainers" >}} +- {{< feature-gate-description name="SizeMemoryBackedVolumes" >}} +- {{< feature-gate-description name="SkipReadOnlyValidationGCE" >}} +- {{< feature-gate-description name="StableLoadBalancerNodeSet" >}} +- {{< feature-gate-description name="StatefulSetStartOrdinal" >}} +- {{< feature-gate-description name="StorageVersionAPI" >}} +- {{< feature-gate-description name="StorageVersionHash" >}} +- {{< feature-gate-description name="TopologyAwareHints" >}} +- {{< feature-gate-description name="TopologyManager" >}} +- {{< feature-gate-description name="TopologyManagerPolicyAlphaOptions" >}} +- {{< feature-gate-description name="TopologyManagerPolicyBetaOptions" >}} +- {{< feature-gate-description name="TopologyManagerPolicyOptions" >}} +- {{< feature-gate-description name="TranslateStreamCloseWebsocketRequests" >}} +- {{< feature-gate-description name="UnauthenticatedHTTP2DOSMitigation" >}} +- {{< feature-gate-description name="UnknownVersionInteroperabilityProxy" >}} +- {{< feature-gate-description name="UserNamespacesPodSecurityStandards" >}} +- {{< feature-gate-description name="UserNamespacesSupport" >}} +- {{< feature-gate-description name="ValidatingAdmissionPolicy" >}} +- {{< feature-gate-description name="VolumeAttributesClass" >}} +- {{< feature-gate-description name="VolumeCapacityPriority" >}} +- {{< feature-gate-description name="WatchBookmark" >}} +- {{< feature-gate-description name="WatchList" >}} +- {{< feature-gate-description name="WindowsHostNetwork" >}} +- {{< feature-gate-description name="WinDSR" >}} +- {{< feature-gate-description name="WinOverlay" >}} + +## {{% heading "whatsnext" %}} + +* The [deprecation policy](/docs/reference/using-api/deprecation-policy/) for Kubernetes explains + the project's approach to removing features and components. +* Since Kubernetes 1.24, new beta APIs are not enabled by default. When enabling a beta + feature, you will also need to enable any associated API resources. + For example, to enable a particular resource like + `storage.k8s.io/v1beta1/csistoragecapacities`, set `--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities`. + See [API Versioning](/docs/reference/using-api/#api-versioning) for more details on the command line flags. \ No newline at end of file diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/indexed-job.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/indexed-job.md new file mode 100644 index 0000000000..e2d2ed3819 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/indexed-job.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: IndexedJob +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows the [Job](/docs/concepts/workloads/controllers/job/) +controller to manage Pod completions per completion index. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/ingress-class-namespaced-params.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/ingress-class-namespaced-params.md new file mode 100644 index 0000000000..8ffb5effcb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/ingress-class-namespaced-params.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: IngressClassNamespacedParams +content_type: feature_gate + +_build: + list: never + render: false +--- +Allow namespace-scoped parameters reference in +`IngressClass` resource. This feature adds two fields - `Scope` and `Namespace` +to `IngressClass.spec.parameters`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/initializers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/initializers.md new file mode 100644 index 0000000000..0d8bc630c5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/initializers.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: Initializers +content_type: feature_gate + +_build: + list: never + render: false +--- +Allow asynchronous coordination of object creation using the +Initializers admission plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/ip-tables-ownership-cleanup.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/ip-tables-ownership-cleanup.md new file mode 100644 index 0000000000..e3975b4e00 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/ip-tables-ownership-cleanup.md @@ -0,0 +1,8 @@ +--- +title: IPTablesOwnershipCleanup +content_type: feature_gate +_build: + list: never + render: false +--- +This causes kubelet to no longer create legacy iptables rules. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/ipv6-dual-stack.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/ipv6-dual-stack.md new file mode 100644 index 0000000000..98bdbbbeb9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/ipv6-dual-stack.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: IPv6DualStack +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable [dual stack](/docs/concepts/services-networking/dual-stack/) +support for IPv6. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-backoff-limit-per-index.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-backoff-limit-per-index.md new file mode 100644 index 0000000000..1b1206077d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-backoff-limit-per-index.md @@ -0,0 +1,10 @@ +--- +title: JobBackoffLimitPerIndex +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows specifying the maximal number of pod +retries per index in Indexed jobs. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-mutable-node-scheduling-directives.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-mutable-node-scheduling-directives.md new file mode 100644 index 0000000000..2e02cc251a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-mutable-node-scheduling-directives.md @@ -0,0 +1,9 @@ +--- +title: JobMutableNodeSchedulingDirectives +content_type: feature_gate +_build: + list: never + render: false +--- +Allows updating node scheduling directives in +the pod template of [Job](/docs/concepts/workloads/controllers/job). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-failure-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-failure-policy.md new file mode 100644 index 0000000000..a6681ad7cd --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-failure-policy.md @@ -0,0 +1,9 @@ +--- +title: JobPodFailurePolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Allow users to specify handling of pod failures based on container +exit codes and pod conditions. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-replacement-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-replacement-policy.md new file mode 100644 index 0000000000..bbee9df31e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-pod-replacement-policy.md @@ -0,0 +1,8 @@ +--- +title: JobPodReplacementPolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Allows you to specify pod replacement for terminating pods in a [Job](/docs/concepts/workloads/controllers/job) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-ready-pods.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-ready-pods.md new file mode 100644 index 0000000000..e8c19f539f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-ready-pods.md @@ -0,0 +1,12 @@ +--- +title: JobReadyPods +content_type: feature_gate +_build: + list: never + render: false +--- +Enables tracking the number of Pods that have a `Ready` +[condition](/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions). +The count of `Ready` pods is recorded in the +[status](/docs/reference/kubernetes-api/workload-resources/job-v1/#JobStatus) +of a [Job](/docs/concepts/workloads/controllers/job) status. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/job-tracking-with-finalizers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-tracking-with-finalizers.md new file mode 100644 index 0000000000..9c622998c6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/job-tracking-with-finalizers.md @@ -0,0 +1,11 @@ +--- +title: JobTrackingWithFinalizers +content_type: feature_gate +_build: + list: never + render: false +--- +Enables tracking [Job](/docs/concepts/workloads/controllers/job) +completions without relying on Pods remaining in the cluster indefinitely. +The Job controller uses Pod finalizers and a field in the Job status to keep +track of the finished Pods to count towards completion. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv1.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv1.md new file mode 100644 index 0000000000..85542c5a9d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv1.md @@ -0,0 +1,8 @@ +--- +title: KMSv1 +content_type: feature_gate +_build: + list: never + render: false +--- +Enables KMS v1 API for encryption at rest. See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2-kdf.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2-kdf.md new file mode 100644 index 0000000000..698df0e82b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2-kdf.md @@ -0,0 +1,10 @@ +--- +title: KMSv2KDF +content_type: feature_gate +_build: + list: never + render: false +--- +Enables KMS v2 to generate single use data encryption keys. +See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider) for more details. +If the `KMSv2` feature gate is not enabled in your cluster, the value of the `KMSv2KDF` feature gate has no effect. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2.md new file mode 100644 index 0000000000..b0994792dc --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kmsv2.md @@ -0,0 +1,8 @@ +--- +title: KMSv2 +content_type: feature_gate +_build: + list: never + render: false +--- +Enables KMS v2 API for encryption at rest. See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kube-proxy-draining-terminating-nodes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kube-proxy-draining-terminating-nodes.md new file mode 100644 index 0000000000..ff16161469 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kube-proxy-draining-terminating-nodes.md @@ -0,0 +1,9 @@ +--- +title: KubeProxyDrainingTerminatingNodes +content_type: feature_gate +_build: + list: never + render: false +--- +Implement connection draining for +terminating nodes for `externalTrafficPolicy: Cluster` services. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-cgroup-driver-from-cri.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-cgroup-driver-from-cri.md new file mode 100644 index 0000000000..c837c454f5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-cgroup-driver-from-cri.md @@ -0,0 +1,18 @@ +--- +title: KubeletCgroupDriverFromCRI +content_type: feature_gate +_build: + list: never + render: false +--- +Enable detection of the kubelet cgroup driver +configuration option from the {{}}. +You can use this feature gate on nodes with a kubelet that supports the feature gate +and where there is a CRI container runtime that supports the `RuntimeConfig` +CRI call. If both CRI and kubelet support this feature, the kubelet ignores the +`cgroupDriver` configuration setting (or deprecated `--cgroup-driver` command +line argument). If you enable this feature gate and the container runtime +doesn't support it, the kubelet falls back to using the driver configured using +the `cgroupDriver` configuration setting. +See [Configuring a cgroup driver](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-config-file.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-config-file.md new file mode 100644 index 0000000000..a1da303c4a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-config-file.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: KubeletConfigFile +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable loading kubelet configuration from +a file specified using a config file. +See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-credential-providers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-credential-providers.md new file mode 100644 index 0000000000..3c777ba57b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-credential-providers.md @@ -0,0 +1,9 @@ +--- +title: KubeletCredentialProviders +content_type: feature_gate +_build: + list: never + render: false +--- +Enable kubelet exec credential providers for +image pull credentials. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-in-user-namespace.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-in-user-namespace.md new file mode 100644 index 0000000000..bca920fc43 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-in-user-namespace.md @@ -0,0 +1,10 @@ +--- +title: KubeletInUserNamespace +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for running kubelet in a +{{}}. + See [Running Kubernetes Node Components as a Non-root User](/docs/tasks/administer-cluster/kubelet-in-userns/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-plugins-watcher.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-plugins-watcher.md new file mode 100644 index 0000000000..5d94abac81 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-plugins-watcher.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: KubeletPluginsWatcher +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable probe-based plugin watcher utility to enable kubelet +to discover plugins such as [CSI volume drivers](/docs/concepts/storage/volumes/#csi). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-dynamice-resources.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-dynamice-resources.md new file mode 100644 index 0000000000..11a3397d75 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-dynamice-resources.md @@ -0,0 +1,12 @@ +--- +title: KubeletPodResourcesDynamicResources +content_type: feature_gate +_build: + list: never + render: false +--- +Extend the kubelet's pod resources gRPC endpoint to +to include resources allocated in `ResourceClaims` via `DynamicResourceAllocation` API. +See [resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources) for more details. +with informations about the allocatable resources, enabling clients to properly +track the free compute resources on a node. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get-allocatable.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get-allocatable.md new file mode 100644 index 0000000000..b6e3899211 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get-allocatable.md @@ -0,0 +1,10 @@ +--- +title: KubeletPodResourcesGetAllocatable +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kubelet's pod resources +`GetAllocatableResources` functionality. This API augments the +[resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get.md new file mode 100644 index 0000000000..1f708b4ab0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources-get.md @@ -0,0 +1,9 @@ +--- +title: KubeletPodResourcesGet +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `Get` gRPC endpoint on kubelet's for Pod resources. +This API augments the [resource allocation reporting](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#monitoring-device-plugin-resources). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources.md new file mode 100644 index 0000000000..b668d43f19 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-pod-resources.md @@ -0,0 +1,10 @@ +--- +title: KubeletPodResources +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kubelet's pod resources gRPC endpoint. See +[Support Device Monitoring](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/606-compute-device-assignment/README.md) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-tracing.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-tracing.md new file mode 100644 index 0000000000..891935144a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/kubelet-tracing.md @@ -0,0 +1,11 @@ +--- +title: KubeletTracing +content_type: feature_gate +_build: + list: never + render: false +--- +Add support for distributed tracing in the kubelet. +When enabled, kubelet CRI interface and authenticated http servers are instrumented to generate +OpenTelemetry trace spans. +See [Traces for Kubernetes System Components](/docs/concepts/cluster-administration/system-traces) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-node-role-behavior.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-node-role-behavior.md new file mode 100644 index 0000000000..e234069b5f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-node-role-behavior.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: LegacyNodeRoleBehavior +content_type: feature_gate + +_build: + list: never + render: false +--- +When disabled, legacy behavior in service load balancers and +node disruption will ignore the `node-role.kubernetes.io/master` label in favor of the +feature-specific labels provided by `NodeDisruptionExclusion` and `ServiceNodeExclusion`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-clean-up.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-clean-up.md new file mode 100644 index 0000000000..43c89cb2c3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-clean-up.md @@ -0,0 +1,10 @@ +--- +title: LegacyServiceAccountTokenCleanUp +content_type: feature_gate +_build: + list: never + render: false +--- +Enable cleaning up Secret-based +[service account tokens](/docs/concepts/security/service-accounts/#get-a-token) +when they are not used in a specified time (default to be one year). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-no-auto-generation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-no-auto-generation.md new file mode 100644 index 0000000000..e966870ec2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-no-auto-generation.md @@ -0,0 +1,9 @@ +--- +title: LegacyServiceAccountTokenNoAutoGeneration +content_type: feature_gate +_build: + list: never + render: false +--- +Stop auto-generation of Secret-based +[service account tokens](/docs/concepts/security/service-accounts/#get-a-token). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-tracking.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-tracking.md new file mode 100644 index 0000000000..45df199371 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/legacy-service-account-token-tracking.md @@ -0,0 +1,9 @@ +--- +title: LegacyServiceAccountTokenTracking +content_type: feature_gate +_build: + list: never + render: false +--- +Track usage of Secret-based +[service account tokens](/docs/concepts/security/service-accounts/#get-a-token). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/load-balancer-ip-mode.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/load-balancer-ip-mode.md new file mode 100644 index 0000000000..3d41588813 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/load-balancer-ip-mode.md @@ -0,0 +1,10 @@ +--- +title: LoadBalancerIPMode +content_type: feature_gate +_build: + list: never + render: false +--- +Allows setting `ipMode` for Services where `type` is set to `LoadBalancer`. +See [Specifying IPMode of load balancer status](/docs/concepts/services-networking/service/#load-balancer-ip-mode) +for more information. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation-fs-quota-monitoring.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation-fs-quota-monitoring.md new file mode 100644 index 0000000000..b64b78978f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation-fs-quota-monitoring.md @@ -0,0 +1,14 @@ +--- +title: LocalStorageCapacityIsolationFSQuotaMonitoring +content_type: feature_gate +_build: + list: never + render: false +--- +When `LocalStorageCapacityIsolation` +is enabled for +[local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/) +and the backing filesystem for [emptyDir volumes](/docs/concepts/storage/volumes/#emptydir) +supports project quotas and they are enabled, use project quotas to monitor +[emptyDir volume](/docs/concepts/storage/volumes/#emptydir) storage consumption rather than +filesystem walk for better performance and accuracy. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation.md new file mode 100644 index 0000000000..7d2e6d0885 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/local-storage-capacity-isolation.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: LocalStorageCapacityIsolation +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the consumption of +[local ephemeral storage](/docs/concepts/configuration/manage-resources-containers/) +and also the `sizeLimit` property of an +[emptyDir volume](/docs/concepts/storage/volumes/#emptydir). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/logarithmic-scale-down.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/logarithmic-scale-down.md new file mode 100644 index 0000000000..bdd67042fd --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/logarithmic-scale-down.md @@ -0,0 +1,9 @@ +--- +title: LogarithmicScaleDown +content_type: feature_gate +_build: + list: never + render: false +--- +Enable semi-random selection of pods to evict on controller scaledown +based on logarithmic bucketing of pod timestamps. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-alpha-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-alpha-options.md new file mode 100644 index 0000000000..67167f975d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-alpha-options.md @@ -0,0 +1,8 @@ +--- +title: LoggingAlphaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuing of experimental, alpha-quality logging options. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-beta-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-beta-options.md new file mode 100644 index 0000000000..b83a4b833a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/logging-beta-options.md @@ -0,0 +1,8 @@ +--- +title: LoggingBetaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuing of experimental, beta-quality logging options. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-affinity.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-affinity.md new file mode 100644 index 0000000000..0d5f572d4f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-affinity.md @@ -0,0 +1,9 @@ +--- +title: MatchLabelKeysInPodAffinity +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `matchLabelKeys` and `mismatchLabelKeys` field for +[pod (anti)affinity](/docs/concepts/scheduling-eviction/assign-pod-node/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-topology-spread.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-topology-spread.md new file mode 100644 index 0000000000..a00108bbb8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/match-label-keys-in-pod-topology-spread.md @@ -0,0 +1,9 @@ +--- +title: MatchLabelKeysInPodTopologySpread +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `matchLabelKeys` field for +[Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/max-unavailable-stateful-set.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/max-unavailable-stateful-set.md new file mode 100644 index 0000000000..7d9a9689c4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/max-unavailable-stateful-set.md @@ -0,0 +1,11 @@ +--- +title: MaxUnavailableStatefulSet +content_type: feature_gate +_build: + list: never + render: false +--- +Enables setting the `maxUnavailable` field for the +[rolling update strategy](/docs/concepts/workloads/controllers/statefulset/#rolling-updates) +of a StatefulSet. The field specifies the maximum number of Pods +that can be unavailable during the update. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-manager.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-manager.md new file mode 100644 index 0000000000..81ed0974f8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-manager.md @@ -0,0 +1,9 @@ +--- +title: MemoryManager +content_type: feature_gate +_build: + list: never + render: false +--- +Allows setting memory affinity for a container based on +NUMA topology. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-qos.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-qos.md new file mode 100644 index 0000000000..49c74b6d3d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/memory-qos.md @@ -0,0 +1,9 @@ +--- +title: MemoryQoS +content_type: feature_gate +_build: + list: never + render: false +--- +Enable memory protection and usage throttle on pod / container using +cgroup v2 memory controller. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/min-domains-in-pod-topology-spread.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/min-domains-in-pod-topology-spread.md new file mode 100644 index 0000000000..82b7572cf8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/min-domains-in-pod-topology-spread.md @@ -0,0 +1,9 @@ +--- +title: MinDomainsInPodTopologySpread +content_type: feature_gate +_build: + list: never + render: false +--- +Enable `minDomains` in +[Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/minimize-ip-tables-restore.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/minimize-ip-tables-restore.md new file mode 100644 index 0000000000..c9d8dabae0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/minimize-ip-tables-restore.md @@ -0,0 +1,9 @@ +--- +title: MinimizeIPTablesRestore +content_type: feature_gate +_build: + list: never + render: false +--- +Enables new performance improvement logics +in the kube-proxy iptables mode. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/mixed-protocol-lb-service.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/mixed-protocol-lb-service.md new file mode 100644 index 0000000000..b994ef582d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/mixed-protocol-lb-service.md @@ -0,0 +1,9 @@ +--- +title: MixedProtocolLBService +content_type: feature_gate +_build: + list: never + render: false +--- +Enable using different protocols in the same `LoadBalancer` type +Service instance. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-containers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-containers.md new file mode 100644 index 0000000000..79525c5738 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-containers.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: MountContainers +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable using utility containers on host as the volume mounter. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-propagation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-propagation.md new file mode 100644 index 0000000000..def95eba40 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/mount-propagation.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: MountPropagation +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable sharing volume mounted by one container to other containers or pods. +For more details, please see [mount propagation](/docs/concepts/storage/volumes/#mount-propagation). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-range-allocator.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-range-allocator.md new file mode 100644 index 0000000000..29723d1726 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-range-allocator.md @@ -0,0 +1,8 @@ +--- +title: MultiCIDRRangeAllocator +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the MultiCIDR range allocator. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-service-allocator.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-service-allocator.md new file mode 100644 index 0000000000..a6bcaf5dcf --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/multi-cidr-service-allocator.md @@ -0,0 +1,8 @@ +--- +title: MultiCIDRServiceAllocator +content_type: feature_gate +_build: + list: never + render: false +--- +Track IP address allocations for Service cluster IPs using IPAddress objects. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/namespace-default-label-name.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/namespace-default-label-name.md new file mode 100644 index 0000000000..81d0510ac2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/namespace-default-label-name.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: NamespaceDefaultLabelName +content_type: feature_gate + +_build: + list: never + render: false +--- +Configure the API Server to set an immutable +{{< glossary_tooltip text="label" term_id="label" >}} `kubernetes.io/metadata.name` +on all namespaces, containing the namespace name. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-end-port.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-end-port.md new file mode 100644 index 0000000000..0fb007971e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-end-port.md @@ -0,0 +1,10 @@ +--- +title: NetworkPolicyEndPort +content_type: feature_gate +_build: + list: never + render: false +--- +Allows you to define ports in a +[NetworkPolicy](docs/concepts/services-networking/network-policies/) +rule as a range of port numbers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-status.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-status.md new file mode 100644 index 0000000000..6744409f9a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/network-policy-status.md @@ -0,0 +1,8 @@ +--- +title: NetworkPolicyStatus +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `status` subresource for NetworkPolicy objects. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/new-volume-manager-reconstruction.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/new-volume-manager-reconstruction.md new file mode 100644 index 0000000000..5d54e86080 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/new-volume-manager-reconstruction.md @@ -0,0 +1,19 @@ +--- +title: NewVolumeManagerReconstruction +content_type: feature_gate +_build: + list: never + render: false +--- +Enables improved discovery of mounted volumes during kubelet +startup. Since this code has been significantly refactored, we allow to opt-out in case kubelet +gets stuck at the startup or is not unmounting volumes from terminated Pods. Note that this +refactoring was behind `SELinuxMountReadWriteOncePod` alpha feature gate in Kubernetes 1.25. + + +Before Kubernetes v1.25, the kubelet used different default behavior for discovering mounted +volumes during the kubelet startup. If you disable this feature gate (it's enabled by default), you select +the legacy discovery behavior. + +In Kubernetes v1.25 and v1.26, this behavior toggle was part of the `SELinuxMountReadWriteOncePod` +feature gate. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-disruption-exclusion.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-disruption-exclusion.md new file mode 100644 index 0000000000..78c83f586b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-disruption-exclusion.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: NodeDisruptionExclusion +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable use of the Node label `node.kubernetes.io/exclude-disruption` +which prevents nodes from being evacuated during zone failures. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-inclusion-policy-in-pod-topology-spread.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-inclusion-policy-in-pod-topology-spread.md new file mode 100644 index 0000000000..4f30224da5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-inclusion-policy-in-pod-topology-spread.md @@ -0,0 +1,10 @@ +--- +title: NodeInclusionPolicyInPodTopologySpread +content_type: feature_gate +_build: + list: never + render: false +--- +Enable using `nodeAffinityPolicy` and `nodeTaintsPolicy` in +[Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/) +when calculating pod topology spread skew. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-lease.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-lease.md new file mode 100644 index 0000000000..381fbf7b2a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-lease.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: NodeLease +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the new Lease API to report node heartbeats, which could be used as a node health signal. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-log-query.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-log-query.md new file mode 100644 index 0000000000..f66e858fd2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-log-query.md @@ -0,0 +1,8 @@ +--- +title: NodeLogQuery +content_type: feature_gate +_build: + list: never + render: false +--- +Enables querying logs of node services using the `/logs` endpoint. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-out-of-service-volume-detach.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-out-of-service-volume-detach.md new file mode 100644 index 0000000000..695ddc5b28 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-out-of-service-volume-detach.md @@ -0,0 +1,11 @@ +--- +title: NodeOutOfServiceVolumeDetach +content_type: feature_gate +_build: + list: never + render: false +--- +When a Node is marked out-of-service using the +`node.kubernetes.io/out-of-service` taint, Pods on the node will be forcefully deleted + if they can not tolerate this taint, and the volume detach operations for Pods terminating + on the node will happen immediately. The deleted Pods can recover quickly on different nodes. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/node-swap.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-swap.md new file mode 100644 index 0000000000..16f7cbf522 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/node-swap.md @@ -0,0 +1,10 @@ +--- +title: NodeSwap +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kubelet to allocate swap memory for Kubernetes workloads on a node. +Must be used with `KubeletConfiguration.failSwapOn` set to false. +For more details, please see [swap memory](/docs/concepts/architecture/nodes/#swap-memory) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/non-preempting-priority.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/non-preempting-priority.md new file mode 100644 index 0000000000..44e72e755e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/non-preempting-priority.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: NonPreemptingPriority +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable `preemptionPolicy` field for PriorityClass and Pod. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/openapi-enums.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/openapi-enums.md new file mode 100644 index 0000000000..ba60f93893 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/openapi-enums.md @@ -0,0 +1,9 @@ +--- +title: OpenAPIEnums +content_type: feature_gate +_build: + list: never + render: false +--- +Enables populating "enum" fields of OpenAPI schemas in the +spec returned from the API server. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/openapiv3.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/openapiv3.md new file mode 100644 index 0000000000..03655a75ca --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/openapiv3.md @@ -0,0 +1,8 @@ +--- +title: OpenAPIV3 +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the API server to publish OpenAPI v3. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pdb-unhealthy-pod-eviction-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pdb-unhealthy-pod-eviction-policy.md new file mode 100644 index 0000000000..34d2f9a1dd --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pdb-unhealthy-pod-eviction-policy.md @@ -0,0 +1,10 @@ +--- +title: PDBUnhealthyPodEvictionPolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the `unhealthyPodEvictionPolicy` field of a `PodDisruptionBudget`. This specifies +when unhealthy pods should be considered for eviction. Please see [Unhealthy Pod Eviction Policy](/docs/tasks/run-application/configure-pdb/#unhealthy-pod-eviction-policy) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-local-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-local-volumes.md new file mode 100644 index 0000000000..e047d3dbf8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-local-volumes.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: PersistentLocalVolumes +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the usage of `local` volume type in Pods. +Pod affinity has to be specified if requesting a `local` volume. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-volume-last-phase-transition-time.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-volume-last-phase-transition-time.md new file mode 100644 index 0000000000..2a710c85db --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/persistent-volume-last-phase-transition-time.md @@ -0,0 +1,9 @@ +--- +title: PersistentVolumeLastPhaseTransitionTime +content_type: feature_gate +_build: + list: never + render: false +--- +Adds a new field to PersistentVolume +which holds a timestamp of when the volume last transitioned its phase. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-affinity-namespace-selector.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-affinity-namespace-selector.md new file mode 100644 index 0000000000..84c95c8763 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-affinity-namespace-selector.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: PodAffinityNamespaceSelector +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the +[Pod Affinity Namespace Selector](/docs/concepts/scheduling-eviction/assign-pod-node/#namespace-selector) +and [CrossNamespacePodAffinity](/docs/concepts/policy/resource-quotas/#cross-namespace-pod-affinity-quota) +quota scope features. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-and-container-stats-from-cri.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-and-container-stats-from-cri.md new file mode 100644 index 0000000000..ed083c7386 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-and-container-stats-from-cri.md @@ -0,0 +1,9 @@ +--- +title: PodAndContainerStatsFromCRI +content_type: feature_gate +_build: + list: never + render: false +--- +Configure the kubelet to gather container and pod stats from the CRI container runtime rather than gathering them from cAdvisor. +As of 1.26, this also includes gathering metrics from CRI and emitting them over `/metrics/cadvisor` (rather than having cAdvisor emit them directly). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-deletion-cost.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-deletion-cost.md new file mode 100644 index 0000000000..7837cd832c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-deletion-cost.md @@ -0,0 +1,9 @@ +--- +title: PodDeletionCost +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the [Pod Deletion Cost](/docs/concepts/workloads/controllers/replicaset/#pod-deletion-cost) + feature which allows users to influence ReplicaSet downscaling order. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-budget.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-budget.md new file mode 100644 index 0000000000..6dbcb9f98a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-budget.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: PodDisruptionBudget +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the [PodDisruptionBudget](/docs/tasks/run-application/configure-pdb/) feature. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-conditions.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-conditions.md new file mode 100644 index 0000000000..ae268f72f5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-disruption-conditions.md @@ -0,0 +1,8 @@ +--- +title: PodDisruptionConditions +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for appending a dedicated pod condition indicating that the pod is being deleted due to a disruption. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-has-network-condition.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-has-network-condition.md new file mode 100644 index 0000000000..a71f647fe4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-has-network-condition.md @@ -0,0 +1,9 @@ +--- +title: PodHasNetworkCondition +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kubelet to mark the [PodHasNetwork](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network) +condition on pods. This was renamed to `PodReadyToStartContainersCondition` in 1.28. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-host-ips.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-host-ips.md new file mode 100644 index 0000000000..27698fd9c8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-host-ips.md @@ -0,0 +1,9 @@ +--- +title: PodHostIPs +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the `status.hostIPs` field for pods and the {{< glossary_tooltip term_id="downward-api" text="downward API" >}}. +The field lets you expose host IP addresses to workloads. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-index-label.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-index-label.md new file mode 100644 index 0000000000..357a2dcc4c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-index-label.md @@ -0,0 +1,8 @@ +--- +title: PodIndexLabel +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the Job controller and StatefulSet controller to add the pod index as a label when creating new pods. See [Job completion mode docs](/docs/concepts/workloads/controllers/job#completion-mode) and [StatefulSet pod index label docs](/docs/concepts/workloads/controllers/statefulset/#pod-index-label) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-lifecycle-sleep-action.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-lifecycle-sleep-action.md new file mode 100644 index 0000000000..e0e528b238 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-lifecycle-sleep-action.md @@ -0,0 +1,8 @@ +--- +title: PodLifecycleSleepAction +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the `sleep` action in Container lifecycle hooks. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-overhead.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-overhead.md new file mode 100644 index 0000000000..05712565fe --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-overhead.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: PodOverhead +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the [PodOverhead](/docs/concepts/scheduling-eviction/pod-overhead/) +feature to account for pod overheads. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-priority.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-priority.md new file mode 100644 index 0000000000..d09e9eb8c7 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-priority.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: PodPriority +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the descheduling and preemption of Pods based on their +[priorities](/docs/concepts/scheduling-eviction/pod-priority-preemption/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-readiness-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-readiness-gates.md new file mode 100644 index 0000000000..fe24af1325 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-readiness-gates.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: PodReadinessGates +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the setting of `PodReadinessGate` field for extending +Pod readiness evaluation. See [Pod readiness gate](/docs/concepts/workloads/pods/pod-lifecycle/#pod-readiness-gate) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-ready-to-start-containers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-ready-to-start-containers.md new file mode 100644 index 0000000000..df9d38bcb6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-ready-to-start-containers.md @@ -0,0 +1,13 @@ +--- +title: PodReadyToStartContainersCondition +former_titles: + - PodHasNetworkCondition +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kubelet to mark the [PodReadyToStartContainers](/docs/concepts/workloads/pods/pod-lifecycle/#pod-has-network) condition on pods. + +This feature gate was previously known as `PodHasNetworkCondition`, and the associated condition was +named `PodHasNetwork`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-scheduling-readiness.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-scheduling-readiness.md new file mode 100644 index 0000000000..c8778cf2b4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-scheduling-readiness.md @@ -0,0 +1,8 @@ +--- +title: PodSchedulingReadiness +content_type: feature_gate +_build: + list: never + render: false +--- +Enable setting `schedulingGates` field to control a Pod's [scheduling readiness](/docs/concepts/scheduling-eviction/pod-scheduling-readiness). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-security.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-security.md new file mode 100644 index 0000000000..7a2a3efa01 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-security.md @@ -0,0 +1,9 @@ +--- +# Removed from Kubernetes +title: PodSecurity +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the `PodSecurity` admission plugin. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-share-process-namespace.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-share-process-namespace.md new file mode 100644 index 0000000000..42eb71c5c2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pod-share-process-namespace.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: PodShareProcessNamespace +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the setting of `shareProcessNamespace` in a Pod for sharing +a single process namespace between containers running in a pod. More details can be found in +[Share Process Namespace between Containers in a Pod](/docs/tasks/configure-pod-container/share-process-namespace/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/prefer-nominated-node.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/prefer-nominated-node.md new file mode 100644 index 0000000000..ad99961707 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/prefer-nominated-node.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: PreferNominatedNode +content_type: feature_gate + +_build: + list: never + render: false +--- +This flag tells the scheduler whether the nominated +nodes will be checked first before looping through all the other nodes in +the cluster. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/probe-termination-grace-period.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/probe-termination-grace-period.md new file mode 100644 index 0000000000..930dadf06f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/probe-termination-grace-period.md @@ -0,0 +1,11 @@ +--- +title: ProbeTerminationGracePeriod +content_type: feature_gate +_build: + list: never + render: false +--- +Enable [setting probe-level +`terminationGracePeriodSeconds`](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationgraceperiodseconds) +on pods. See the [enhancement proposal](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2238-liveness-probe-grace-period) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/proc-mount-type.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/proc-mount-type.md new file mode 100644 index 0000000000..73a3173eae --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/proc-mount-type.md @@ -0,0 +1,9 @@ +--- +title: ProcMountType +content_type: feature_gate +_build: + list: never + render: false +--- +Enables control over the type proc mounts for containers +by setting the `procMount` field of a SecurityContext. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/proxy-terminating-endpoints.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/proxy-terminating-endpoints.md new file mode 100644 index 0000000000..a0672b3ca1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/proxy-terminating-endpoints.md @@ -0,0 +1,9 @@ +--- +title: ProxyTerminatingEndpoints +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the kube-proxy to handle terminating +endpoints when `ExternalTrafficPolicy=Local`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/pvc-protection.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/pvc-protection.md new file mode 100644 index 0000000000..d64d795105 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/pvc-protection.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: PVCProtection +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the prevention of a PersistentVolumeClaim (PVC) from +being deleted when it is still used by any Pod. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/qos-reserved.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/qos-reserved.md new file mode 100644 index 0000000000..7db6ba5543 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/qos-reserved.md @@ -0,0 +1,10 @@ +--- +title: QOSReserved +content_type: feature_gate +_build: + list: never + render: false +--- +Allows resource reservations at the QoS level preventing pods +at lower QoS levels from bursting into resources requested at higher QoS levels +(memory only for now). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/read-write-once-pod.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/read-write-once-pod.md new file mode 100644 index 0000000000..5dd15edfbe --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/read-write-once-pod.md @@ -0,0 +1,9 @@ +--- +title: ReadWriteOncePod +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the usage of `ReadWriteOncePod` PersistentVolume +access mode. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/recover-volume-expansion-failure.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/recover-volume-expansion-failure.md new file mode 100644 index 0000000000..fd9720abfa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/recover-volume-expansion-failure.md @@ -0,0 +1,11 @@ +--- +title: RecoverVolumeExpansionFailure +content_type: feature_gate +_build: + list: never + render: false +--- +Enables users to edit their PVCs to smaller +sizes so as they can recover from previously issued volume expansion failures. +See [Recovering from Failure when Expanding Volumes](/docs/concepts/storage/persistent-volumes/#recovering-from-failure-when-expanding-volumes) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/remaining-item-count.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/remaining-item-count.md new file mode 100644 index 0000000000..e3238a2e1e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/remaining-item-count.md @@ -0,0 +1,10 @@ +--- +title: RemainingItemCount +content_type: feature_gate +_build: + list: never + render: false +--- +Allow the API servers to show a count of remaining +items in the response to a +[chunking list request](/docs/reference/using-api/api-concepts/#retrieving-large-results-sets-in-chunks). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/remove-self-link.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/remove-self-link.md new file mode 100644 index 0000000000..25e4e977d3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/remove-self-link.md @@ -0,0 +1,11 @@ +--- +title: RemoveSelfLink +content_type: feature_gate +_build: + list: never + render: false +--- +Sets the `.metadata.selfLink` field to blank (empty string) for all +objects and collections. This field has been deprecated since the Kubernetes v1.16 +release. When this feature is enabled, the `.metadata.selfLink` field remains part of +the Kubernetes API, but is always unset. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/request-management.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/request-management.md new file mode 100644 index 0000000000..3c147f36b6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/request-management.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: RequestManagement +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables managing request concurrency with prioritization and fairness +at each API server. Deprecated by `APIPriorityAndFairness` since 1.17. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-limits-priority-function.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-limits-priority-function.md new file mode 100644 index 0000000000..256f59d412 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-limits-priority-function.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: ResourceLimitsPriorityFunction +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable a scheduler priority function that +assigns a lowest possible score of 1 to a node that satisfies at least one of +the input Pod's cpu and memory limits. The intent is to break ties between +nodes with same scores. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-quota-scope-selectors.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-quota-scope-selectors.md new file mode 100644 index 0000000000..306be747fb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/resource-quota-scope-selectors.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ResourceQuotaScopeSelectors +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable resource quota scope selectors. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/retroactive-default-storage-class.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/retroactive-default-storage-class.md new file mode 100644 index 0000000000..36298a5f39 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/retroactive-default-storage-class.md @@ -0,0 +1,8 @@ +--- +title: RetroactiveDefaultStorageClass +content_type: feature_gate +_build: + list: never + render: false +--- +Allow assigning StorageClass to unbound PVCs retroactively. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/root-ca-config-map.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/root-ca-config-map.md new file mode 100644 index 0000000000..8611ac90c6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/root-ca-config-map.md @@ -0,0 +1,15 @@ +--- +# Removed from Kubernetes +title: RootCAConfigMap +content_type: feature_gate + +_build: + list: never + render: false +--- +Configure the `kube-controller-manager` to publish a +{{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} named `kube-root-ca.crt` +to every namespace. This ConfigMap contains a CA bundle used for verifying connections +to the kube-apiserver. See +[Bound Service Account Tokens](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-client-certificate.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-client-certificate.md new file mode 100644 index 0000000000..0d5c80fa5b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-client-certificate.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: RotateKubeletClientCertificate +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the rotation of the client TLS certificate on the kubelet. +See [kubelet configuration](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-server-certificate.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-server-certificate.md new file mode 100644 index 0000000000..b828830ab0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/rotate-kubelet-server-certificate.md @@ -0,0 +1,10 @@ +--- +title: RotateKubeletServerCertificate +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the rotation of the server TLS certificate on the kubelet. +See [kubelet configuration](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#kubelet-configuration) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/run-as-group.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/run-as-group.md new file mode 100644 index 0000000000..7e29279062 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/run-as-group.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: RunAsGroup +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable control over the primary group ID set on the init processes of containers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class-in-image-cri-api.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class-in-image-cri-api.md new file mode 100644 index 0000000000..88abe44731 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class-in-image-cri-api.md @@ -0,0 +1,9 @@ +--- +title: RuntimeClassInImageCriApi +content_type: feature_gate +_build: + list: never + render: false +--- +Enables images to be pulled based on the [runtime class] +(/docs/concepts/containers/runtime-class/) of the pods that reference them. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class.md new file mode 100644 index 0000000000..c028f713d9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/runtime-class.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: RuntimeClass +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the [RuntimeClass](/docs/concepts/containers/runtime-class/) feature for +selecting container runtime configurations. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/schedule-daemon-set-pods.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/schedule-daemon-set-pods.md new file mode 100644 index 0000000000..fba999d571 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/schedule-daemon-set-pods.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ScheduleDaemonSetPods +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable DaemonSet Pods to be scheduled by the default scheduler instead +of the DaemonSet controller. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/scheduler-queueing-hints.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/scheduler-queueing-hints.md new file mode 100644 index 0000000000..b2beaddec6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/scheduler-queueing-hints.md @@ -0,0 +1,12 @@ +--- +title: SchedulerQueueingHints +content_type: feature_gate +_build: + list: never + render: false +--- +Enables [the scheduler's _queueing hints_ enhancement](https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/4247-queueinghint/README.md), +which benefits to reduce the useless requeueing. +The scheduler retries scheduling pods if something changes in the cluster that could make the pod scheduled. +Queueing hints are internal signals that allow the scheduler to filter the changes in the cluster +that are relevant to the unscheduled pod, based on previous scheduling attempts. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/sctp-support.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/sctp-support.md new file mode 100644 index 0000000000..8c7a54937e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/sctp-support.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: SCTPSupport +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the _SCTP_ `protocol` value in Pod, Service, Endpoints, EndpointSlice, +and NetworkPolicy definitions. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/seccomp-default.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/seccomp-default.md new file mode 100644 index 0000000000..dea1497b38 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/seccomp-default.md @@ -0,0 +1,10 @@ +--- +title: SeccompDefault +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the use of `RuntimeDefault` as the default seccomp profile +for all workloads. +The seccomp profile is specified in the `securityContext` of a Pod and/or a Container. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/security-context-deny.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/security-context-deny.md new file mode 100644 index 0000000000..b304808b38 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/security-context-deny.md @@ -0,0 +1,8 @@ +--- +title: SecurityContextDeny +content_type: feature_gate +_build: + list: never + render: false +--- +This gate signals that the `SecurityContextDeny` admission controller is deprecated. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/selector-index.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/selector-index.md new file mode 100644 index 0000000000..7e9423696f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/selector-index.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: SelectorIndex +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows label and field based indexes in API server watch cache to accelerate +list operations. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/selinux-mount-read-write-once-pod.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/selinux-mount-read-write-once-pod.md new file mode 100644 index 0000000000..65bd39aa4a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/selinux-mount-read-write-once-pod.md @@ -0,0 +1,10 @@ +--- +title: SELinuxMountReadWriteOncePod +content_type: feature_gate +_build: + list: never + render: false +--- +Speeds up container startup by allowing kubelet to mount volumes +for a Pod directly with the correct SELinux label instead of changing each file on the volumes +recursively. The initial implementation focused on ReadWriteOncePod volumes. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/separate-taint-eviction-controller.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/separate-taint-eviction-controller.md new file mode 100644 index 0000000000..29c989b2fa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/separate-taint-eviction-controller.md @@ -0,0 +1,12 @@ +--- +title: SeparateTaintEvictionController +content_type: feature_gate +_build: + list: never + render: false +--- +Enables running `TaintEvictionController`, +that performs [Taint-based Evictions](/docs/concepts/scheduling-eviction/taint-and-toleration/#taint-based-evictions), +in a controller separated from `NodeLifecycleController`. When this feature is +enabled, users can optionally disable Taint-based Eviction setting the +`--controllers=-taint-eviction-controller` flag on the `kube-controller-manager`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-apply.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-apply.md new file mode 100644 index 0000000000..2d8b66cff5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-apply.md @@ -0,0 +1,9 @@ +--- +title: ServerSideApply +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the [Sever Side Apply (SSA)](/docs/reference/using-api/server-side-apply/) +feature on the API Server. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-field-validation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-field-validation.md new file mode 100644 index 0000000000..b97cbdbdeb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/server-side-field-validation.md @@ -0,0 +1,10 @@ +--- +title: ServerSideFieldValidation +content_type: feature_gate +_build: + list: never + render: false +--- +Enables server-side field validation. This means the validation +of resource schema is performed at the API server side rather than the client side +(for example, the `kubectl create` or `kubectl apply` command line). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-issuer-discovery.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-issuer-discovery.md new file mode 100644 index 0000000000..581179575b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-issuer-discovery.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: ServiceAccountIssuerDiscovery +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable OIDC discovery endpoints (issuer and JWKS URLs) for the +service account issuer in the API server. See +[Configure Service Accounts for Pods](/docs/tasks/configure-pod-container/configure-service-account/#service-account-issuer-discovery) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-jti.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-jti.md new file mode 100644 index 0000000000..abc66d675b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-jti.md @@ -0,0 +1,9 @@ +--- +title: ServiceAccountTokenJTI +content_type: feature_gate +_build: + list: never + render: false +--- +Controls whether JTIs (UUIDs) are embedded into generated service account tokens, +and whether these JTIs are recorded into the Kubernetes audit log for future requests made by these tokens. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding-validation.m b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding-validation.m new file mode 100644 index 0000000000..e69de29bb2 diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding-validation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding-validation.md new file mode 100644 index 0000000000..7a4c77ff17 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding-validation.md @@ -0,0 +1,9 @@ +--- +title: ServiceAccountTokenNodeBindingValidation +content_type: feature_gate +_build: + list: never + render: false +--- +Controls whether the apiserver will validate a Node reference in service account tokens. + diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding.md new file mode 100644 index 0000000000..4fd31b624a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-node-binding.md @@ -0,0 +1,8 @@ +--- +title: ServiceAccountTokenNodeBinding +content_type: feature_gate +_build: + list: never + render: false +--- +Controls whether the apiserver allows binding service account tokens to Node objects. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-pod-node-info.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-pod-node-info.md new file mode 100644 index 0000000000..3eec66d02a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-account-token-pod-node-info.md @@ -0,0 +1,9 @@ +--- +title: ServiceAccountTokenPodNodeInfo +content_type: feature_gate +_build: + list: never + render: false +--- +Controls whether the apiserver embeds the node name and uid +for the associated node when issuing service account tokens bound to Pod objects. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-app-protocol.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-app-protocol.md new file mode 100644 index 0000000000..53a78a8cb8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-app-protocol.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ServiceAppProtocol +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the `appProtocol` field on Services and Endpoints. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-internal-traffic-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-internal-traffic-policy.md new file mode 100644 index 0000000000..cd3e53a53d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-internal-traffic-policy.md @@ -0,0 +1,8 @@ +--- +title: ServiceInternalTrafficPolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the `internalTrafficPolicy` field on Services diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-ip-static-subrange.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-ip-static-subrange.md new file mode 100644 index 0000000000..a65651f27b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-ip-static-subrange.md @@ -0,0 +1,13 @@ +--- +title: ServiceIPStaticSubrange +content_type: feature_gate +_build: + list: never + render: false +--- +Enables a strategy for Services ClusterIP allocations, whereby the +ClusterIP range is subdivided. Dynamic allocated ClusterIP addresses will be allocated preferently +from the upper range allowing users to assign static ClusterIPs from the lower range with a low +risk of collision. See +[Avoiding collisions](/docs/reference/networking/virtual-ips/#avoiding-collisions) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-lb-node-port-control.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-lb-node-port-control.md new file mode 100644 index 0000000000..0273c908c9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-lb-node-port-control.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ServiceLBNodePortControl +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the `allocateLoadBalancerNodePorts` field on Services. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-class.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-class.md new file mode 100644 index 0000000000..e9b4a6383f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-class.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: ServiceLoadBalancerClass +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables the `loadBalancerClass` field on Services. See +[Specifying class of load balancer implementation](/docs/concepts/services-networking/service/#load-balancer-class) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-finalizer.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-finalizer.md new file mode 100644 index 0000000000..9c7594ba75 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-load-balancer-finalizer.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ServiceLoadBalancerFinalizer +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable finalizer protection for Service load balancers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-node-exclusion.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-node-exclusion.md new file mode 100644 index 0000000000..67037b040c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-node-exclusion.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ServiceNodeExclusion +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the exclusion of nodes from load balancers created by a cloud provider. +A node is eligible for exclusion if labelled with "`node.kubernetes.io/exclude-from-external-load-balancers`". diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-nodeport-static-subrange.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-nodeport-static-subrange.md new file mode 100644 index 0000000000..8241ca5aad --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-nodeport-static-subrange.md @@ -0,0 +1,10 @@ +--- +title: ServiceNodePortStaticSubrange +content_type: feature_gate +_build: + list: never + render: false +--- +Enables the use of different port allocation +strategies for NodePort Services. For more details, see +[reserve NodePort ranges to avoid collisions](/docs/concepts/services-networking/service/#avoid-nodeport-collisions). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/service-topology.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-topology.md new file mode 100644 index 0000000000..52ed1bc7e2 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/service-topology.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: ServiceTopology +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable service to route traffic based upon the Node topology of the cluster. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/set-hostname-as-fqdn.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/set-hostname-as-fqdn.md new file mode 100644 index 0000000000..a816c884ae --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/set-hostname-as-fqdn.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: SetHostnameAsFQDN +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the ability of setting Fully Qualified Domain Name(FQDN) as the +hostname of a pod. See +[Pod's `setHostnameAsFQDN` field](/docs/concepts/services-networking/dns-pod-service/#pod-sethostnameasfqdn-field). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/sidecar-containers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/sidecar-containers.md new file mode 100644 index 0000000000..70beba2eff --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/sidecar-containers.md @@ -0,0 +1,11 @@ +--- +title: SidecarContainers +content_type: feature_gate +_build: + list: never + render: false +--- +Allow setting the `restartPolicy` of an init container to +`Always` so that the container becomes a sidecar container (restartable init containers). + +See [Sidecar containers and restartPolicy](/docs/concepts/workloads/pods/init-containers/#sidecar-containers-and-restartpolicy) diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/size-memory-backed-volumes.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/size-memory-backed-volumes.md new file mode 100644 index 0000000000..7ed5db1576 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/size-memory-backed-volumes.md @@ -0,0 +1,9 @@ +--- +title: SizeMemoryBackedVolumes +content_type: feature_gate +_build: + list: never + render: false +--- +Enable kubelets to determine the size limit for +memory-backed volumes (mainly `emptyDir` volumes). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/skip-read-only-validation-gce.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/skip-read-only-validation-gce.md new file mode 100644 index 0000000000..9f84e5ac7c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/skip-read-only-validation-gce.md @@ -0,0 +1,9 @@ +--- +title: SkipReadOnlyValidationGCE +content_type: feature_gate +_build: + list: never + render: false +--- +Skip validation for GCE, will enable in the +next version. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/stable-load-balancer-node-set.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/stable-load-balancer-node-set.md new file mode 100644 index 0000000000..16a3451ba1 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/stable-load-balancer-node-set.md @@ -0,0 +1,9 @@ +--- +title: StableLoadBalancerNodeSet +content_type: feature_gate +_build: + list: never + render: false +--- +Enables less load balancer re-configurations by +the service controller (KCCM) as an effect of changing node state. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/startup-probe.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/startup-probe.md new file mode 100644 index 0000000000..365423cfd4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/startup-probe.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: StartupProbe +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the [startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe) +probe in the kubelet. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-min-ready-seconds.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-min-ready-seconds.md new file mode 100644 index 0000000000..a3a5a6b156 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-min-ready-seconds.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: StatefulSetMinReadySeconds +content_type: feature_gate + +_build: + list: never + render: false +--- +Allows `minReadySeconds` to be respected by +the StatefulSet controller. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-start-ordinal.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-start-ordinal.md new file mode 100644 index 0000000000..fd0276f6f4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/stateful-set-start-ordinal.md @@ -0,0 +1,11 @@ +--- +title: StatefulSetStartOrdinal +content_type: feature_gate +_build: + list: never + render: false +--- +Allow configuration of the start ordinal in a +StatefulSet. See +[Start ordinal](/docs/concepts/workloads/controllers/statefulset/#start-ordinal) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-object-in-use-protection.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-object-in-use-protection.md new file mode 100644 index 0000000000..298c499473 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-object-in-use-protection.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: StorageObjectInUseProtection +content_type: feature_gate + +_build: + list: never + render: false +--- +Postpone the deletion of PersistentVolume or +PersistentVolumeClaim objects if they are still being used. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-api.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-api.md new file mode 100644 index 0000000000..4797309247 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-api.md @@ -0,0 +1,9 @@ +--- +title: StorageVersionAPI +content_type: feature_gate +_build: + list: never + render: false +--- +Enable the +[storage version API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#storageversion-v1alpha1-internal-apiserver-k8s-io). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-hash.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-hash.md new file mode 100644 index 0000000000..0f8ee3b73f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/storage-version-hash.md @@ -0,0 +1,9 @@ +--- +title: StorageVersionHash +content_type: feature_gate +_build: + list: never + render: false +--- +Allow API servers to expose the storage version hash in the +discovery. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/streaming-proxy-redirects.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/streaming-proxy-redirects.md new file mode 100644 index 0000000000..51d4d5e4b3 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/streaming-proxy-redirects.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: StreamingProxyRedirects +content_type: feature_gate + +_build: + list: never + render: false +--- +Instructs the API server to intercept (and follow) redirects from the +backend (kubelet) for streaming requests. Examples of streaming requests include the `exec`, +`attach` and `port-forward` requests. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/support-ipvs-proxy-mode.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-ipvs-proxy-mode.md new file mode 100644 index 0000000000..80afa61d62 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-ipvs-proxy-mode.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: SupportIPVSProxyMode +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable providing in-cluster service load balancing using IPVS. +See [service proxies](/docs/reference/networking/virtual-ips/) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/support-node-pids-limit.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-node-pids-limit.md new file mode 100644 index 0000000000..185bbaa4ae --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-node-pids-limit.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: SupportNodePidsLimit +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the support to limiting PIDs on the Node. The parameter +`pid=` in the `--system-reserved` and `--kube-reserved` options can be specified to +ensure that the specified number of process IDs will be reserved for the system as a whole and for + Kubernetes system daemons respectively. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/support-pod-pids-limit.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-pod-pids-limit.md new file mode 100644 index 0000000000..df1a73b597 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/support-pod-pids-limit.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: SupportPodPidsLimit +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the support to limiting PIDs in Pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/suspend-job.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/suspend-job.md new file mode 100644 index 0000000000..ceab500036 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/suspend-job.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: SuspendJob +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable support to suspend and resume Jobs. For more details, see + [the Jobs docs](/docs/concepts/workloads/controllers/job/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/sysctls.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/sysctls.md new file mode 100644 index 0000000000..2d3ec087bb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/sysctls.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: Sysctls +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable support for namespaced kernel parameters (sysctls) that can be set for each +pod. See [sysctls](/docs/tasks/administer-cluster/sysctl-cluster/) for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-based-evictions.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-based-evictions.md new file mode 100644 index 0000000000..8145465653 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-based-evictions.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: TaintBasedEvictions +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable evicting pods from nodes based on taints on Nodes and tolerations +on Pods. See [taints and tolerations](/docs/concepts/scheduling-eviction/taint-and-toleration/) +for more details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-nodes-by-condition.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-nodes-by-condition.md new file mode 100644 index 0000000000..34b17e6de6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/taint-nodes-by-condition.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: TaintNodesByCondition +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable automatic tainting nodes based on +[node conditions](/docs/concepts/architecture/nodes/#condition). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request-projection.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request-projection.md new file mode 100644 index 0000000000..996d3dabee --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request-projection.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: TokenRequestProjection +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the injection of service account tokens into a Pod through a +[`projected` volume](/docs/concepts/storage/volumes/#projected). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request.md new file mode 100644 index 0000000000..3fc2a510b6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/token-request.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: TokenRequest +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable the `TokenRequest` endpoint on service account resources. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-aware-hints.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-aware-hints.md new file mode 100644 index 0000000000..accc97690b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-aware-hints.md @@ -0,0 +1,11 @@ +--- +title: TopologyAwareHints +content_type: feature_gate +_build: + list: never + render: false +--- +Enables topology aware routing based on topology hints +in EndpointSlices. See [Topology Aware +Hints](/docs/concepts/services-networking/topology-aware-hints/) for more +details. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-alpha-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-alpha-options.md new file mode 100644 index 0000000000..1cc5e5c4b6 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-alpha-options.md @@ -0,0 +1,11 @@ +--- +title: TopologyManagerPolicyAlphaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuning of topology manager policies, +experimental, Alpha-quality options. +This feature gate guards *a group* of topology manager options whose quality level is alpha. +This feature gate will never graduate to beta or stable. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-beta-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-beta-options.md new file mode 100644 index 0000000000..5e98776027 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-beta-options.md @@ -0,0 +1,11 @@ +--- +title: TopologyManagerPolicyBetaOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuning of topology manager policies, +experimental, Beta-quality options. +This feature gate guards *a group* of topology manager options whose quality level is beta. +This feature gate will never graduate to stable. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-options.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-options.md new file mode 100644 index 0000000000..52deabc2cb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager-policy-options.md @@ -0,0 +1,8 @@ +--- +title: TopologyManagerPolicyOptions +content_type: feature_gate +_build: + list: never + render: false +--- +Allow fine-tuning of topology manager policies, diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager.md new file mode 100644 index 0000000000..bece6d3dcb --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/topology-manager.md @@ -0,0 +1,10 @@ +--- +title: TopologyManager +content_type: feature_gate +_build: + list: never + render: false +--- +Enable a mechanism to coordinate fine-grained hardware resource +assignments for different components in Kubernetes. See +[Control Topology Management Policies on a node](/docs/tasks/administer-cluster/topology-manager/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/translate-stream-close-websocket-requests.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/translate-stream-close-websocket-requests.md new file mode 100644 index 0000000000..f7c1d80734 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/translate-stream-close-websocket-requests.md @@ -0,0 +1,10 @@ +--- +title: TranslateStreamCloseWebsocketRequests +content_type: feature_gate +_build: + list: never + render: false +--- +Allow WebSocket streaming of the +remote command sub-protocol (`exec`, `cp`, `attach`) from clients requesting +version 5 (v5) of the sub-protocol. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/ttl-after-finished.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/ttl-after-finished.md new file mode 100644 index 0000000000..af0feaeb65 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/ttl-after-finished.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: TTLAfterFinished +content_type: feature_gate + +_build: + list: never + render: false +--- +Allow a [TTL controller](/docs/concepts/workloads/controllers/ttlafterfinished/) +to clean up resources after they finish execution. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/unauthenticated-http2-dos-mitigation.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/unauthenticated-http2-dos-mitigation.md new file mode 100644 index 0000000000..1477f7ac4e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/unauthenticated-http2-dos-mitigation.md @@ -0,0 +1,9 @@ +--- +title: UnauthenticatedHTTP2DOSMitigation +content_type: feature_gate +_build: + list: never + render: false +--- +Enables HTTP/2 Denial of Service (DoS) mitigations for unauthenticated clients. +Kubernetes v1.28.0 through v1.28.2 do not include this feature gate. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/unknown-version-interoperability-proxy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/unknown-version-interoperability-proxy.md new file mode 100644 index 0000000000..69d3b8691e --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/unknown-version-interoperability-proxy.md @@ -0,0 +1,10 @@ +--- +title: UnknownVersionInteroperabilityProxy +content_type: feature_gate +_build: + list: never + render: false +--- +Proxy resource requests to the correct peer kube-apiserver when +multiple kube-apiservers exist at varied versions. +See [Mixed version proxy](/docs/concepts/architecture/mixed-version-proxy/) for more information. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-pod-security-standards.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-pod-security-standards.md new file mode 100644 index 0000000000..1a1fee0058 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-pod-security-standards.md @@ -0,0 +1,10 @@ +--- +title: UserNamespacesPodSecurityStandards +content_type: feature_gate +_build: + list: never + render: false +--- +Enable Pod Security Standards policies relaxation for pods +that run with namespaces. You must set the value of this feature gate consistently across all nodes in +your cluster, and you must also enable `UserNamespacesSupport` to use this feature. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-stateless-pods-support.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-stateless-pods-support.md new file mode 100644 index 0000000000..32a08177d0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-stateless-pods-support.md @@ -0,0 +1,9 @@ +--- +title: UserNamespacesStatelessPodsSupport +content_type: feature_gate +_build: + list: never + render: false +--- +Enable user namespace support for stateless Pods. This feature gate was superseded +by the `UserNamespacesSupport` feature gate in the Kubernetes v1.28 release. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-support.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-support.md new file mode 100644 index 0000000000..e6d1032b43 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/user-namespaces-support.md @@ -0,0 +1,8 @@ +--- +title: UserNamespacesSupport +content_type: feature_gate +_build: + list: never + render: false +--- +Enable user namespace support for Pods. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/validate-proxy-redirects.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/validate-proxy-redirects.md new file mode 100644 index 0000000000..513fd911e9 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/validate-proxy-redirects.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: ValidateProxyRedirects +content_type: feature_gate + +_build: + list: never + render: false +--- +This flag controls whether the API server should validate that redirects +are only followed to the same host. Only used if the `StreamingProxyRedirects` flag is enabled. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/validating-admission-policy.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/validating-admission-policy.md new file mode 100644 index 0000000000..ee5bfbcdc4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/validating-admission-policy.md @@ -0,0 +1,8 @@ +--- +title: ValidatingAdmissionPolicy +content_type: feature_gate +_build: + list: never + render: false +--- +Enable [ValidatingAdmissionPolicy](/docs/reference/access-authn-authz/validating-admission-policy/) support for CEL validations be used in Admission Control. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-attributes-class.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-attributes-class.md new file mode 100644 index 0000000000..e97a870f2a --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-attributes-class.md @@ -0,0 +1,10 @@ +--- +title: VolumeAttributesClass +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for VolumeAttributesClasses. +See [Volume Attributes Classes](/docs/concepts/storage/volume-attributes-classes/) +for more information. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-capacity-priority.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-capacity-priority.md new file mode 100644 index 0000000000..3cc62ee723 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-capacity-priority.md @@ -0,0 +1,9 @@ +--- +title: VolumeCapacityPriority +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for prioritizing nodes in different +topologies based on available PV capacity. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-pvc-data-source.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-pvc-data-source.md new file mode 100644 index 0000000000..5b1ea196f4 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-pvc-data-source.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: VolumePVCDataSource +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable support for specifying an existing PVC as a DataSource. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-scheduling.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-scheduling.md new file mode 100644 index 0000000000..9c6dd67aba --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-scheduling.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: VolumeScheduling +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable volume topology aware scheduling and make the PersistentVolumeClaim +(PVC) binding aware of scheduling decisions. It also enables the usage of +[`local`](/docs/concepts/storage/volumes/#local) volume type when used together with the +`PersistentLocalVolumes` feature gate. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-snapshot-data-source.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-snapshot-data-source.md new file mode 100644 index 0000000000..bb3238b87d --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-snapshot-data-source.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: VolumeSnapshotDataSource +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable volume snapshot data source support. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath-env-expansion.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath-env-expansion.md new file mode 100644 index 0000000000..7be67bcea5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath-env-expansion.md @@ -0,0 +1,11 @@ +--- +# Removed from Kubernetes +title: VolumeSubpathEnvExpansion +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable `subPathExpr` field for expanding environment +variables into a `subPath`. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath.md new file mode 100644 index 0000000000..6122f66496 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/volume-subpath.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: VolumeSubpath +content_type: feature_gate + +_build: + list: never + render: false +--- +Allow mounting a subpath of a volume in a container. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/warning-headers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/warning-headers.md new file mode 100644 index 0000000000..3ff9a7880f --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/warning-headers.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: WarningHeaders +content_type: feature_gate + +_build: + list: never + render: false +--- +Allow sending warning headers in API responses. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-bookmark.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-bookmark.md new file mode 100644 index 0000000000..0f087a17e0 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-bookmark.md @@ -0,0 +1,8 @@ +--- +title: WatchBookmark +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for watch bookmark events. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-list.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-list.md new file mode 100644 index 0000000000..c3754662b5 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/watch-list.md @@ -0,0 +1,8 @@ +--- +title: WatchList +content_type: feature_gate +_build: + list: never + render: false +--- +Enable support for [streaming initial state of objects in watch requests](/docs/reference/using-api/api-concepts/#streaming-lists). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/win-dsr.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/win-dsr.md new file mode 100644 index 0000000000..c5db941441 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/win-dsr.md @@ -0,0 +1,8 @@ +--- +title: WinDSR +content_type: feature_gate +_build: + list: never + render: false +--- +Allows kube-proxy to create DSR loadbalancers for Windows. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/win-overlay.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/win-overlay.md new file mode 100644 index 0000000000..8f68d64eae --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/win-overlay.md @@ -0,0 +1,8 @@ +--- +title: WinOverlay +content_type: feature_gate +_build: + list: never + render: false +--- +Allows kube-proxy to run in overlay mode for Windows. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-endpoint-slice-proxying.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-endpoint-slice-proxying.md new file mode 100644 index 0000000000..7270269fe8 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-endpoint-slice-proxying.md @@ -0,0 +1,13 @@ +--- +# Removed from Kubernetes +title: WindowsEndpointSliceProxying +content_type: feature_gate + +_build: + list: never + render: false +--- +When enabled, kube-proxy running on Windows will use +EndpointSlices as the primary data source instead of Endpoints, enabling scalability and +performance improvements. See +[Enabling Endpoint Slices](/docs/concepts/services-networking/endpoint-slices/). diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-gmsa.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-gmsa.md new file mode 100644 index 0000000000..4047fdf9fa --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-gmsa.md @@ -0,0 +1,10 @@ +--- +# Removed from Kubernetes +title: WindowsGMSA +content_type: feature_gate + +_build: + list: never + render: false +--- +Enables passing of GMSA credential specs from pods to container runtimes. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-network.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-network.md new file mode 100644 index 0000000000..1c47419f0b --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-network.md @@ -0,0 +1,8 @@ +--- +title: WindowsHostNetwork +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for joining Windows containers to a hosts' network namespace. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-process-containers.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-process-containers.md new file mode 100644 index 0000000000..16e956999c --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-host-process-containers.md @@ -0,0 +1,8 @@ +--- +title: WindowsHostProcessContainers +content_type: feature_gate +_build: + list: never + render: false +--- +Enables support for Windows HostProcess containers. diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-run-as-user-name.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-run-as-user-name.md new file mode 100644 index 0000000000..012f490297 --- /dev/null +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/windows-run-as-user-name.md @@ -0,0 +1,12 @@ +--- +# Removed from Kubernetes +title: WindowsRunAsUserName +content_type: feature_gate + +_build: + list: never + render: false +--- +Enable support for running applications in Windows containers with as a +non-default user. See [Configuring RunAsUserName](/docs/tasks/configure-pod-container/configure-runasusername) +for more details.