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 table is a summary of the feature gates that you can set on different Kubernetes components.

FeatureDefaultStageSinceUntil
AcceleratorsfalseAlpha1.61.10
AdvancedAuditingfalseAlpha1.71.7
AdvancedAuditingtrueBeta1.81.11
AdvancedAuditingtrueGA1.12-
AffinityInAnnotationsfalseAlpha1.61.7
AllowExtTrafficLocalEndpointsfalseBeta1.41.6
AllowExtTrafficLocalEndpointstrueGA1.7-
APIListChunkingfalseAlpha1.81.8
APIListChunkingtrueBeta1.9
APIResponseCompressionfalseAlpha1.7
AppArmortrueBeta1.4
AttachVolumeLimittrueAlpha1.111.11
AttachVolumeLimittrueBeta1.12
BlockVolumefalseAlpha1.9
BlockVolumetrueBeta1.13-
BoundServiceAccountTokenVolumefalseAlpha1.13
CPUManagerfalseAlpha1.81.9
CPUManagertrueBeta1.10
CRIContainerLogRotationfalseAlpha1.101.10
CRIContainerLogRotationtrueBeta1.11
CSIBlockVolumefalseAlpha1.111.13
CSIBlockVolumetrueBeta1.14
CSIDriverRegistryfalseAlpha1.121.13
CSIDriverRegistrytrueBeta1.14
CSIMigrationfalseAlpha1.14
CSIMigrationAWSfalseAlpha1.14
CSIMigrationGCEfalseAlpha1.14
CSIMigrationOpenStackfalseAlpha1.14
CSINodeInfofalseAlpha1.121.13
CSINodeInfotrueBeta1.14
CSIPersistentVolumefalseAlpha1.91.9
CSIPersistentVolumetrueBeta1.101.12
CSIPersistentVolumetrueGA1.13-
CustomCPUCFSQuotaPeriodfalseAlpha1.12
CustomPodDNSfalseAlpha1.91.9
CustomPodDNStrueBeta1.10
CustomResourceSubresourcesfalseAlpha1.101.11
CustomResourceSubresourcestrueBeta1.11-
CustomResourceValidationfalseAlpha1.81.8
CustomResourceValidationtrueBeta1.9
CustomResourceWebhookConversionfalseAlpha1.13
DebugContainersfalseAlpha1.10
DevicePluginsfalseAlpha1.81.9
DevicePluginstrueBeta1.10
DryRuntrueBeta1.13
DynamicAuditingfalseAlpha1.13
DynamicKubeletConfigfalseAlpha1.41.10
DynamicKubeletConfigtrueBeta1.11
DynamicProvisioningSchedulingfalseAlpha1.111.11
DynamicVolumeProvisioningtrueAlpha1.31.7
DynamicVolumeProvisioningtrueGA1.8
EnableEquivalenceClassCachefalseAlpha1.8
ExpandCSIVolumesfalseAlpha1.14
ExpandInUsePersistentVolumesfalseAlpha1.111.13
ExpandPersistentVolumesfalseAlpha1.81.10
ExpandPersistentVolumestrueBeta1.11
ExperimentalCriticalPodAnnotationfalseAlpha1.5
ExperimentalHostUserNamespaceDefaultingfalseBeta1.5
GCERegionalPersistentDisktrueBeta1.101.12
GCERegionalPersistentDisktrueGA1.13-
HugePagesfalseAlpha1.81.9
HugePagestrueBeta1.10
HyperVContainerfalseAlpha1.10
InitializersfalseAlpha1.7
KubeletConfigFilefalseAlpha1.81.9
KubeletPluginsWatcherfalseAlpha1.111.11
KubeletPluginsWatchertrueBeta1.121.12
KubeletPluginsWatchertrueGA1.13-
KubeletPodResourcesfalseAlpha1.13
LocalStorageCapacityIsolationfalseAlpha1.71.9
LocalStorageCapacityIsolationtrueBeta1.10
MountContainersfalseAlpha1.9
MountPropagationfalseAlpha1.81.9
MountPropagationtrueBeta1.101.11
MountPropagationtrueGA1.12
NodeLeasefalseAlpha1.12
PersistentLocalVolumesfalseAlpha1.71.9
PersistentLocalVolumestrueBeta1.101.13
PersistentLocalVolumestrueGA1.14
PodPriorityfalseAlpha1.81.10
PodPrioritytrueBeta1.11
PodReadinessGatesfalseAlpha1.11
PodReadinessGatestrueBeta1.12
PodShareProcessNamespacefalseAlpha1.10
PodShareProcessNamespacetrueBeta1.12
ProcMountTypefalseAlpha1.12
PVCProtectionfalseAlpha1.91.9
ResourceLimitsPriorityFunctionfalseAlpha1.9
ResourceQuotaScopeSelectorsfalseAlpha1.111.11
ResourceQuotaScopeSelectorstrueBeta1.12
RotateKubeletClientCertificatetrueBeta1.8
RotateKubeletServerCertificatefalseAlpha1.71.11
RotateKubeletServerCertificatetrueBeta1.12
RunAsGrouptrueBeta1.14
RuntimeClasstrueBeta1.14
SCTPSupportfalseAlpha1.12
ServerSideApplyfalseAlpha1.14
ServiceNodeExclusionfalseAlpha1.8
StorageObjectInUseProtectiontrueBeta1.101.10
StorageObjectInUseProtectiontrueGA1.11
StreamingProxyRedirectstrueBeta1.5
SupportIPVSProxyModefalseAlpha1.81.8
SupportIPVSProxyModefalseBeta1.91.9
SupportIPVSProxyModetrueBeta1.101.10
SupportIPVSProxyModetrueGA1.11
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
VolumeSchedulingfalseAlpha1.91.9
VolumeSchedulingtrueBeta1.101.12
VolumeSchedulingtrueGA1.13
VolumeSubpathEnvExpansionfalseAlpha1.14
VolumeSnapshotDataSourcefalseAlpha1.12-
ScheduleDaemonSetPodsfalseAlpha1.111.11
ScheduleDaemonSetPodstrueBeta1.12
WindowsGMSAfalseAlpha1.14

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