Switch to per-file feature gate descriptions
Replace the feature gate descriptions so that there is a Markdown file for each feature gate. Use a shortcode to render a feature gate description. If you use the shortcode, this also validates that any feature gate you reference has exactly one descriptive text for the current localization. Localizations can adopt this new approach piecemeal. Likely benefits: - when feature gates are removed from Kubernetes, the localization work to do won't require any language skills - merge conflicts are less likely because the list of feature gates becomes just a list of names (descriptions are elsewhere, so changes that just affect descriptions won't cause a conflict) - we'll have a machine-readable list of all the feature gates we document, and can compare that to other lists if we want to - we'll gain a place to add metadata about feature gates. For example, this lays groundwork for a future change where we record the KEP number (if known) for a feature gate, and can render that where it's useful.pull/41793/head
parent
4a4fe5ccb9
commit
d69dc41fe6
|
@ -1,996 +0,0 @@
|
|||
---
|
||||
title: Feature Gates (removed)
|
||||
weight: 15
|
||||
content_type: concept
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
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=<number>` 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.
|
||||
|
|
@ -0,0 +1,600 @@
|
|||
---
|
||||
title: Feature Gates (removed)
|
||||
weight: 15
|
||||
content_type: concept
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
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" >}}
|
|
@ -1,844 +0,0 @@
|
|||
---
|
||||
title: Feature Gates
|
||||
weight: 10
|
||||
content_type: concept
|
||||
card:
|
||||
name: reference
|
||||
weight: 60
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
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.
|
||||
|
||||
<!-- body -->
|
||||
## 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/<version>` 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 {{<glossary_tooltip term_id="cri" text="CRI">}}.
|
||||
(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 {{<glossary_tooltip term_id="cri" text="CRI">}}.
|
||||
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
|
||||
{{<glossary_tooltip text="user namespace" term_id="userns">}}.
|
||||
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.
|
||||
<!-- remove next 2 paragraphs when feature graduates to GA -->
|
||||
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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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)
|
|
@ -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).
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
title: AggregatedDiscoveryEndpoint
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enable a single HTTP endpoint `/discovery/<version>` which
|
||||
supports native HTTP caching with ETags containing all APIResources known to the API server.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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" >}}.
|
|
@ -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.
|
|
@ -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`)
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: APIResponseCompression
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Compress the API responses for `LIST` or `GET` requests.
|
|
@ -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.
|
|
@ -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).
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: CloudControllerManagerWebhook
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enable webhooks in cloud controller manager.
|
|
@ -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.
|
|
@ -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).
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: ClusterTrustBundle
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enable ClusterTrustBundle objects and kubelet integration.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
||||
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: CPUManagerPolicyOptions
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Allow fine-tuning of CPUManager policies.
|
|
@ -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/).
|
|
@ -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.
|
||||
|
|
@ -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.
|
|
@ -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.
|
|
@ -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/)
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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`.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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`.
|
|
@ -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.
|
|
@ -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).
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: CSIVolumeHealth
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enable support for CSI volume health monitoring on node.
|
|
@ -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.
|
|
@ -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/).
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# Removed from Kubernetes
|
||||
title: CustomResourcePublishOpenAPI
|
||||
content_type: feature_gate
|
||||
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enables publishing of CRD OpenAPI specs.
|
|
@ -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/).
|
|
@ -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.
|
|
@ -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/).
|
|
@ -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/).
|
|
@ -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/).
|
|
@ -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.
|
|
@ -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).
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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).
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: DisableNodeKubeProxyVersion
|
||||
content_type: feature_gate
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Disable setting the `kubeProxyVersion` field of the Node.
|
|
@ -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).
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# Removed from Kubernetes
|
||||
title: EndpointSliceNodeName
|
||||
content_type: feature_gate
|
||||
|
||||
_build:
|
||||
list: never
|
||||
render: false
|
||||
---
|
||||
Enables EndpointSlice `nodeName` field.
|
|
@ -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/).
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue