The programmatic interface to your Google Kubernetes Engine cluster has two
principal APIs: The Google Kubernetes Engine API (and the
gcloud command-line interface) and the
Kubernetes API (and the associated
Google Kubernetes Engine API
You use the Google Kubernetes Engine API and
gcloud command-line interface
primarily for configuring your cluster on Google Cloud. This might
include tasks such as:
- Creating a cluster.
- Deleting a cluster.
- Configuring cluster-level networking, such as rotating the cluster master IP or enabling network policy enforcement.
- Updating the version of Kubernetes running on the cluster.
- Adding, removing, or modifying node pools in your cluster.
- Setting the machine type or node image used for your cluster's nodes.
- Configuring the geographic zones or regions in which your cluster runs.
Google Kubernetes Engine API versioning
The Google Kubernetes Engine API has three groups:
v1for generally available features.
v1alpha1for alpha features.
v1beta1for beta features.
Similarly, Google Kubernetes Engine
gcloud commands are divided into three groups:
gcloud container clusterscontain flags for generally available features and use the
gcloud alpha container clusterscontain flags for alpha features and use the
gcloud beta container clusterscontain flags for beta features and use the
To learn how to use Google Kubernetes Engine beta features through the v1beta1 API, refer to Google Kubernetes Engine Beta Features.
Google Kubernetes Engine beta features
When new features for Google Kubernetes Engine are released to beta, they are made
available through the
gcloud commands for Google Kubernetes Engine beta features, just run
gcloud beta container clusters commands.
As features "graduate" from beta to general availability, the commands move from
v1beta1 API to the
v1 API, and from the
gcloud beta container track to
gcloud container track in the command-line interface). The commands might
undergo small changes during this transition. Any breaking changes are only made
after a deprecation warning and must maintain a three month period of backward
You use the Kubernetes API and
kubectl command-line interface for managing
your cluster's containerized applications and workloads. This might include
tasks such as:
- Deploying an application
- Scaling an application
- Configuring intra-cluster networking settings
- Configuring Pods and Containers
- Controlling when pods are evicted or restarted
Kubernetes API versioning
Kubernetes supports multiple API versions, each at a different API path such as
/apis/extensions/v1beta1. You must specify the API version when
writing object configuration files or when interacting with the
The API is versioned separately from Kubernetes itself. For more information on API versioning, refer to the Kubernetes API versioning documentation.