Reference Documentation

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

Feature Default Stage Since Until
Accelerators false Alpha 1.6 1.10
AdvancedAuditing false Alpha 1.7 1.7
AdvancedAuditing true Beta 1.8
AffinityInAnnotations false Alpha 1.6 1.7
AllowExtTrafficLocalEndpoints false Beta 1.4 1.6
AllowExtTrafficLocalEndpoints true GA 1.7
APIListChunking false Alpha 1.8 1.8
APIListChunking true Beta 1.9
APIResponseCompression false Alpha 1.7
AppArmor true Beta 1.4
AttachVolumeLimit false Alpha 1.11
BlockVolume false Alpha 1.9
CPUManager false Alpha 1.8 1.9
CPUManager true Beta 1.10
CRIContainerLogRotation false Alpha 1.10 1.10
CRIContainerLogRotation true Beta 1.11
CSIBlockVolume false Alpha 1.11 1.11
CSIPersistentVolume false Alpha 1.9 1.9
CSIPersistentVolume true Beta 1.10
CustomPodDNS false Alpha 1.9 1.9
CustomPodDNS true Beta 1.10
CustomResourceSubresources false Alpha 1.10
CustomResourceValidation false Alpha 1.8 1.8
CustomResourceValidation true Beta 1.9
DebugContainers false Alpha 1.10
DevicePlugins false Alpha 1.8 1.9
DevicePlugins true Beta 1.10
DynamicKubeletConfig false Alpha 1.4 1.10
DynamicKubeletConfig true Beta 1.11
DynamicProvisioningScheduling false Alpha 1.11
DynamicVolumeProvisioning true Alpha 1.3 1.7
DynamicVolumeProvisioning true GA 1.8
EnableEquivalenceClassCache false Alpha 1.8
ExpandInUsePersistentVolumes false Alpha 1.11
ExpandPersistentVolumes false Alpha 1.8 1.10
ExpandPersistentVolumes true Beta 1.11
ExperimentalCriticalPodAnnotation false Alpha 1.5
ExperimentalHostUserNamespaceDefaulting false Beta 1.5
GCERegionalPersistentDisk true Beta 1.10
HugePages false Alpha 1.8 1.9
HugePages true Beta 1.10
HyperVContainer false Alpha 1.10
Initializers false Alpha 1.7
KubeletConfigFile false Alpha 1.8 1.9
KubeletPluginsWatcher false Alpha 1.11
LocalStorageCapacityIsolation false Alpha 1.7 1.9
LocalStorageCapacityIsolation true Beta 1.10
MountContainers false Alpha 1.9
MountPropagation false Alpha 1.8 1.9
MountPropagation true Beta 1.10
PersistentLocalVolumes false Alpha 1.7 1.9
PersistentLocalVolumes true Beta 1.10
PodPriority false Alpha 1.8
PodReadinessGates false Alpha 1.11
PodShareProcessNamespace false Alpha 1.10
PVCProtection false Alpha 1.9 1.9
ReadOnlyAPIDataVolumes true Deprecated 1.10
ResourceLimitsPriorityFunction false Alpha 1.9
RotateKubeletClientCertificate true Beta 1.7
RotateKubeletServerCertificate false Alpha 1.7
RunAsGroup false Alpha 1.10
ServiceNodeExclusion false Alpha 1.8
StorageObjectInUseProtection true Beta 1.10 1.10
StorageObjectInUseProtection true GA 1.11
StreamingProxyRedirects true Beta 1.5
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
SupportPodPidsLimit false Alpha 1.10
Sysctls true Beta 1.11
TaintBasedEvictions false Alpha 1.6
TaintNodesByCondition false Alpha 1.8
TokenRequest false Alpha 1.10
TokenRequestProjection false Alpha 1.11
VolumeScheduling false Alpha 1.9 1.9
VolumeScheduling true Beta 1.10
VolumeSubpathEnvExpansion false Alpha 1.11
ScheduleDaemonSetPods false Alpha 1.11

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: