Reference

Edit This Page

Feature Gates

This page contains an overview of the various feature gates an administrator can specify on different Kubernetes components.

Overview

Feature gates are a set of key=value pairs that describe alpha or experimental features. An administrator can use the --feature-gates command line flag on each component to turn a feature on or off. Each component supports a set of feature gates unique 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:

--feature-gates="...,DynamicKubeletConfig=true"

The following tables are a summary of the feature gates that you can set on different Kubernetes components.

Feature gates for features in Alpha or Beta states
FeatureDefaultStageSinceUntil
APIListChunkingfalseAlpha1.81.8
APIListChunkingtrueBeta1.9
APIResponseCompressionfalseAlpha1.7
AppArmortrueBeta1.4
AttachVolumeLimittrueAlpha1.111.11
AttachVolumeLimittrueBeta1.12
BalanceAttachedNodeVolumesfalseAlpha1.11
BlockVolumefalseAlpha1.91.12
BlockVolumetrueBeta1.13-
BoundServiceAccountTokenVolumefalseAlpha1.13
CPUManagerfalseAlpha1.81.9
CPUManagertrueBeta1.10
CRIContainerLogRotationfalseAlpha1.101.10
CRIContainerLogRotationtrueBeta1.11
CSIBlockVolumefalseAlpha1.111.13
CSIBlockVolumetrueBeta1.14
CSIDriverRegistryfalseAlpha1.121.13
CSIDriverRegistrytrueBeta1.14
CSIInlineVolumefalseAlpha1.151.15
CSIInlineVolumetrueBeta1.16-
CSIMigrationfalseAlpha1.14
CSIMigrationAWSfalseAlpha1.14
CSIMigrationAzureDiskfalseAlpha1.15
CSIMigrationAzureFilefalseAlpha1.15
CSIMigrationGCEfalseAlpha1.14
CSIMigrationOpenStackfalseAlpha1.14
CSINodeInfofalseAlpha1.121.13
CSINodeInfotrueBeta1.14
CustomCPUCFSQuotaPeriodfalseAlpha1.12
CustomResourceDefaultingfalseAlpha1.15
CustomResourcePublishOpenAPIfalseAlpha1.141.14
CustomResourcePublishOpenAPItrueBeta1.15
CustomResourceSubresourcesfalseAlpha1.101.10
CustomResourceSubresourcestrueBeta1.11-
CustomResourceValidationfalseAlpha1.81.8
CustomResourceValidationtrueBeta1.9
CustomResourceWebhookConversionfalseAlpha1.131.14
CustomResourceWebhookConversiontrueBeta1.15
DevicePluginsfalseAlpha1.81.9
DevicePluginstrueBeta1.10
DryRunfalseAlpha1.121.12
DryRuntrueBeta1.13
DynamicAuditingfalseAlpha1.13
DynamicKubeletConfigfalseAlpha1.41.10
DynamicKubeletConfigtrueBeta1.11
EndpointSlicefalseAlpha1.16
EphemeralContainersfalseAlpha1.16
ExpandCSIVolumesfalseAlpha1.14
ExpandInUsePersistentVolumesfalseAlpha1.111.14
ExpandInUsePersistentVolumestrueBeta1.15
ExpandPersistentVolumesfalseAlpha1.81.10
ExpandPersistentVolumestrueBeta1.11
ExperimentalHostUserNamespaceDefaultingfalseBeta1.5
EvenPodsSpreadfalseAlpha1.16
HyperVContainerfalseAlpha1.10
KubeletPodResourcesfalseAlpha1.131.14
KubeletPodResourcestrueBeta1.15
LegacyNodeRoleBehaviortrueAlpha1.16
LocalStorageCapacityIsolationfalseAlpha1.71.9
LocalStorageCapacityIsolationtrueBeta1.10
LocalStorageCapacityIsolationFSQuotaMonitoringfalseAlpha1.15
MountContainersfalseAlpha1.9
NodeDisruptionExclusionfalseAlpha1.16
NodeLeasefalseAlpha1.121.13
NodeLeasetrueBeta1.14
NonPreemptingPriorityfalseAlpha1.15
PodOverheadfalseAlpha1.16-
PodShareProcessNamespacefalseAlpha1.101.11
PodShareProcessNamespacetrueBeta1.12
ProcMountTypefalseAlpha1.12
QOSReservedfalseAlpha1.11
RemainingItemCountfalseAlpha1.15
RequestManagementfalseAlpha1.15
ResourceLimitsPriorityFunctionfalseAlpha1.9
ResourceQuotaScopeSelectorsfalseAlpha1.111.11
ResourceQuotaScopeSelectorstrueBeta1.12
RotateKubeletClientCertificatetrueBeta1.8
RotateKubeletServerCertificatefalseAlpha1.71.11
RotateKubeletServerCertificatetrueBeta1.12
RunAsGrouptrueBeta1.14
RuntimeClassfalseAlpha1.121.13
RuntimeClasstrueBeta1.14
ScheduleDaemonSetPodsfalseAlpha1.111.11
ScheduleDaemonSetPodstrueBeta1.12
SCTPSupportfalseAlpha1.12
ServerSideApplyfalseAlpha1.14
ServiceLoadBalancerFinalizerfalseAlpha1.15
ServiceNodeExclusionfalseAlpha1.8
StartupProbefalseAlpha1.16
StorageVersionHashfalseAlpha1.141.14
StorageVersionHashtrueBeta1.15
StreamingProxyRedirectsfalseBeta1.51.5
StreamingProxyRedirectstrueBeta1.6
SupportNodePidsLimitfalseAlpha1.141.14
SupportNodePidsLimittrueBeta1.15
SupportPodPidsLimitfalseAlpha1.101.13
SupportPodPidsLimittrueBeta1.14
SysctlstrueBeta1.11
TaintBasedEvictionsfalseAlpha1.61.12
TaintBasedEvictionstrueBeta1.13
TaintNodesByConditionfalseAlpha1.81.11
TaintNodesByConditiontrueBeta1.12
TokenRequestfalseAlpha1.101.11
TokenRequesttrueBeta1.12
TokenRequestProjectionfalseAlpha1.111.11
TokenRequestProjectiontrueBeta1.12
TTLAfterFinishedfalseAlpha1.12
TopologyManagerfalseAlpha1.16
ValidateProxyRedirectsfalseAlpha1.101.13
ValidateProxyRedirectstrueBeta1.14
VolumePVCDataSourcefalseAlpha1.151.15
VolumePVCDataSourcetrueBeta1.16
VolumeSubpathEnvExpansionfalseAlpha1.141.14
VolumeSubpathEnvExpansiontrueBeta1.15
VolumeSnapshotDataSourcefalseAlpha1.12-
WatchBookmarkfalseAlpha1.151.15
WatchBookmarktrueBeta1.16
WindowsGMSAfalseAlpha1.14
WinDSRfalseAlpha1.14
WinOverlayfalseAlpha1.14

The following table contains feature gates for graduated or deprecated features.

Feature Gates for Graduated or Deprecated Features
FeatureDefaultStageSinceUntil
AcceleratorsfalseAlpha1.61.10
Accelerators-Deprecated1.11-
AdvancedAuditingfalseAlpha1.71.7
AdvancedAuditingtrueBeta1.81.11
AdvancedAuditingtrueGA1.12-
AffinityInAnnotationsfalseAlpha1.61.7
AffinityInAnnotations-Deprecated1.8-
AllowExtTrafficLocalEndpointsfalseBeta1.41.6
AllowExtTrafficLocalEndpointstrueGA1.7-
CSIPersistentVolumefalseAlpha1.91.9
CSIPersistentVolumetrueBeta1.101.12
CSIPersistentVolumetrueGA1.13-
CustomPodDNSfalseAlpha1.91.9
CustomPodDNStrueBeta1.101.13
CustomPodDNStrueGA1.14-
DynamicProvisioningSchedulingfalseAlpha1.111.11
DynamicProvisioningScheduling-Deprecated1.12-
DynamicVolumeProvisioningtrueAlpha1.31.7
DynamicVolumeProvisioningtrueGA1.8-
EnableEquivalenceClassCachefalseAlpha1.81.14
EnableEquivalenceClassCache-Deprecated1.15-
ExperimentalCriticalPodAnnotationfalseAlpha1.51.12
ExperimentalCriticalPodAnnotationfalseDeprecated1.13-
GCERegionalPersistentDisktrueBeta1.101.12
GCERegionalPersistentDisktrueGA1.13-
HugePagesfalseAlpha1.81.9
HugePagestrueBeta1.101.13
HugePagestrueGA1.14-
InitializersfalseAlpha1.71.13
Initializers-Deprecated1.14-
KubeletConfigFilefalseAlpha1.81.9
KubeletConfigFile-Deprecated1.10-
KubeletPluginsWatcherfalseAlpha1.111.11
KubeletPluginsWatchertrueBeta1.121.12
KubeletPluginsWatchertrueGA1.13-
MountPropagationfalseAlpha1.81.9
MountPropagationtrueBeta1.101.11
MountPropagationtrueGA1.12-
PersistentLocalVolumesfalseAlpha1.71.9
PersistentLocalVolumestrueBeta1.101.13
PersistentLocalVolumestrueGA1.14-
PodPriorityfalseAlpha1.81.10
PodPrioritytrueBeta1.111.13
PodPrioritytrueGA1.14-
PodReadinessGatesfalseAlpha1.111.11
PodReadinessGatestrueBeta1.121.13
PodReadinessGatestrueGA1.14-
PVCProtectionfalseAlpha1.91.9
PVCProtection-Deprecated1.10-
StorageObjectInUseProtectiontrueBeta1.101.10
StorageObjectInUseProtectiontrueGA1.11-
SupportIPVSProxyModefalseAlpha1.81.8
SupportIPVSProxyModefalseBeta1.91.9
SupportIPVSProxyModetrueBeta1.101.10
SupportIPVSProxyModetrueGA1.11-
VolumeSchedulingfalseAlpha1.91.9
VolumeSchedulingtrueBeta1.101.12
VolumeSchedulingtrueGA1.13-
VolumeSubpathtrueGA1.13-

Using a Feature

Feature Stages

A feature can be in Alpha, Beta or GA stage. An Alpha feature means:

A Beta feature means:

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.

A GA feature is also referred to as a stable feature. It means:

Feature Gates

Each feature gate is designed for enabling/disabling a specific feature:

Feedback