This page explains how Kubernetes feature gates function in Google Kubernetes Engine (GKE). Feature gates are a set of key-value pairs that toggle Kubernetes features. You can't modify Kubernetes feature gates in GKE clusters.
The Kubernetes project releases new features in stages over time. Features can be in the alpha, beta, or GA stage.
To see what features are enabled for your cluster running version 1.26 or later, check the feature gate state.
Alternatively, to verify the stage of a feature corresponding to the version of your cluster's control plane or nodes, check the Feature gates for Alpha or Beta features table in the Kubernetes documentation.
GA Kubernetes features in GKE
GA (also referred to as stable) Kubernetes features are enabled on GKE by default and cannot be disabled.
Beta Kubernetes features in GKE
Beta features are usually enabled by default in GKE. GKE might disable a specific beta feature for a particular version to mitigate a known issue with the feature, to ensure backwards compatibility, or because integration and qualification of the feature in GKE is not yet complete.
If you want to use a beta Kubernetes feature in your GKE cluster running version 1.26 or later, check that this feature is enabled by checking the feature gate state. If your cluster is running a version earlier than 1.26, you can check if the feature is enabled by testing the feature.
Contact Cloud Customer Care if you can't verify whether the beta feature is enabled for your GKE cluster's control plane or node version.
Alpha Kubernetes features in GKE
Alpha Kubernetes features are disabled by default in all GKE clusters. GKE might enable a specific alpha feature in a specific control plane version.
To enable all alpha Kubernetes features, create an alpha Standard cluster.
Check feature gate state
With clusters running version 1.26 or later, you can run a kubectl
command
to check what features are enabled.
Check the feature gate state for your GKE cluster:
- Install and configure kubectl access
Run the following command:
kubectl get --raw /metrics | grep kubernetes_feature_enabled
The output, like in the following example, shows you the name of the feature gate, the corresponding stage (
""
is GA), and whether the feature gate is enabled.1
means enabled and0
means disabled.See the following example output:
# HELP kubernetes_feature_enabled [BETA] This metric records the data about the stage and enablement of a k8s feature. # TYPE kubernetes_feature_enabled gauge kubernetes_feature_enabled{name="APIListChunking",stage=""} 1 kubernetes_feature_enabled{name="APIPriorityAndFairness",stage=""} 1 kubernetes_feature_enabled{name="APIResponseCompression",stage="BETA"} 1 kubernetes_feature_enabled{name="APISelfSubjectReview",stage=""} 1 kubernetes_feature_enabled{name="APIServerIdentity",stage="BETA"} 1 kubernetes_feature_enabled{name="APIServerTracing",stage="BETA"} 1 kubernetes_feature_enabled{name="AdmissionWebhookMatchConditions",stage="BETA"} 1 ...
This output indicates that, for example, the
APIResponseCompression
feature is enabled and in the beta stage.
What's next
- For a complete list of current Kubernetes features, see Feature gates.
- For a full list of GKE features, refer to the
GKE release notes.