How new features are introduced with the Kubernetes API
GKE clusters consist of a control plane and worker nodes. The control plane exposes the API server, which exposes the Kubernetes API so that end users, along with internal and external components, can communicate. This API evolves over time, with new features being introduced in Alpha or Beta stages, and then eventually either graduating to General Availability (GA) or being deprecated and removed in newer minor versions.
You can only use alpha APIs with alpha clusters, but you can use beta APIs with all types of GKE clusters. Starting with Kubernetes version 1.24, new beta APIs are, by default, disabled in new clusters. Existing clusters created running a version earlier than 1.24 keep existing beta APIs enabled, as automatically enabled (introduced earlier than 1.24) or manually enabled beta APIs (introduced 1.24 or later) cannot be disabled on existing clusters. For all clusters, existing beta APIs introduced before version 1.24 remain enabled by default, and new versions of existing beta APIs also remain enabled by default.
For example, if a v1beta1 API was introduced in Kubernetes version 1.22, then
a new version of this beta API, such as v1beta3, is introduced in Kubernetes
version 1.25, the API is automatically enabled. This happens because it is a new
version of an existing beta API, not a completely new beta API. However, a new
beta API with the v1beta1 version introduced in Kubernetes version 1.24 or
later is disabled by default.
To use beta APIs introduced with version 1.24 and later, you must configure beta APIs per resource per cluster. You can enable APIs on cluster creation or for an existing cluster. To see what beta APIs are available for your cluster's minor version, refer to the available beta APIs.
After you enable a beta API, it remains enabled until the beta API is deprecated and the cluster is upgraded to the minor version where the API is removed. To see which beta APIs your cluster has enabled, see Check which beta APIs are enabled.
Kubernetes beta APIs and Kubernetes feature gates
Feature gates are a distinct mechanism for feature enablement from Kubernetes APIs, and are managed differently by GKE clusters. Some Kubernetes APIs and Kubernetes feature gates work together. Ensure that you understand the connection between specific feature gates and APIs. For more information, see Feature gates.
Available beta APIs
You can enable a subset of Kubernetes beta APIs for your GKE clusters. Other beta APIs are not available for reasons such as the following:
- The beta API relies on non-GA Kubernetes features.
- The beta API is not secure.
- The beta API is not Autopilot compatible.
Refer to the following table for beta APIs and the corresponding minor version where they were introduced:
| Kubernetes version | Beta APIs added with this Kubernetes minor version | Available with GKE | Notes |
|---|---|---|---|
| 1.32 |
|
|
You must enable all listed |
| 1.31 |
|
|
You must enable both |
| 1.29 |
|
|
You must enable both APIs at the same time. This enables the Validating Admission Policy beta feature. |
| 1.28 |
|
|
|
| 1.27 |
|
|
Considerations before using beta APIs
Kubernetes beta APIs are subject to the Kubernetes Deprecation Policy. When a beta API is deprecated, you must discontinue usage of it. To learn more, see Beta API deprecations.
Before you begin
Before you start, make sure that you have performed the following tasks:
- Enable the Google Kubernetes Engine API. Enable Google Kubernetes Engine API
- To use the Google Cloud CLI for this task,
install and then
initialize the
gcloud CLI. If you previously installed the gcloud CLI, get the latest
version by running the
gcloud components updatecommand. Earlier gcloud CLI versions might not support running the commands in this document.