Feature Gates [page]deterministic
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.
## 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.
## How to enable Feature Gates
To enable or disable a feature gate for a particular Kubernetes component, use the `--feature-gates` flag.
This flag accepts a comma-separated list of key=value pairs, where each key is a feature gate name and each value is either `true` (enable) or `false` (disable).
Example usage:
```shell kube-apiserver --feature-gates=FeatureName1=true,FeatureName2=false kubelet --feature-gates=GracefulNodeShutdown=true ```
Each Kubernetes component supports only the feature gates relevant to its functions. Use `<component> -h` to list available feature gates for a specific component.
For detailed instructions on configuring feature gates in your cluster, see [Configure Feature Gates](/docs/tasks/administer-cluster/configure-feature-gates/).
## Feature gates in Kubernetes v {#list-of-gates}
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/).
### Feature gates for Alpha or Beta features
### Feature gates for graduated or deprecated features
## 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.
A *General Availability …(trimmed)