Managing clusters


This page shows you how to manage your clusters in Google Kubernetes Engine (GKE). To learn about how clusters work, refer to Cluster architecture.

Before you begin

Before you start, make sure you have performed the following tasks:

  • Enable the Google Kubernetes Engine API.
  • Enable Google Kubernetes Engine API
  • If you want 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 gcloud components update.

Viewing your clusters

gcloud

To view a specific cluster, run the following command:

gcloud container clusters describe CLUSTER_NAME

Replace CLUSTER_NAME with the name of your cluster.

To view all clusters in your default zone:

gcloud container clusters list

Console

To view your clusters, go to the Google Kubernetes Engine page in the Google Cloud console.

Go to Google Kubernetes Engine

To see more information about a cluster, select the cluster from the list.

Setting a default cluster for kubectl

If you have multiple clusters, you can set a default cluster for the kubectl command-line tool.

To learn more, refer to Setting a default cluster for kubectl commands.

Setting a default cluster for gcloud

To set a default cluster for gcloud commands, run the following command:

gcloud config set container/cluster CLUSTER_NAME

Replace CLUSTER_NAME with the name of your cluster.

Upgrading clusters

By default, GKE automatically upgrades your clusters. However, you can choose to upgrade your Standard clusters yourself. To learn more, see Manually upgrading a cluster.

For guidance on upgrading clusters, see Best practices for upgrading clusters.

Adding or removing zones in a Standard cluster

The following sections explain how to add or remove cluster zones. All zones must be in the cluster's region.

Changing zones for zonal clusters

For existing zonal clusters, you can add or remove zones.

gcloud

To add or remove zones for a zonal cluster, use the gcloud container clusters update command:

gcloud container clusters update CLUSTER_NAME \
  --zone COMPUTE_ZONE \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Replace the following:

  • CLUSTER_NAME: the name you choose for the cluster.
  • COMPUTE_ZONE: the zone for the cluster control plane.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: the zones in which nodes are created. You can specify as many zones as needed for your cluster. All zones must be in the same region as the cluster's control plane, specified by the --zone flag. For zonal clusters, --node-locations must contain the cluster's primary zone.

For example, example-cluster runs in us-central1-a. To add two more zones to the cluster, you'd run the following command:

gcloud container clusters update example-cluster \
  --zone us-central1-a
  --node-locations us-central1-a,us-central1-b,us-central1-c

As another example, example-cluster runs in us-central1-a, us-central1-b and us-central1-c. If you only want the cluster to run in us-central1-a and us-central1-b, you'd run the following command:

gcloud container clusters update example-cluster \
  --zone us-central1-a \
  --node-locations us-central1-a,us-central1-b

Console

To add or remove zones in an existing cluster, perform the following steps:

  1. Go to the Google Kubernetes Engine page in the Google Cloud console.

    Go to Google Kubernetes Engine

  2. Beside the cluster you want to edit, click Actions, then click Edit.

  3. Under the Details tab, for the Default node zones field, click Edit node pools.

  4. Select the desired zones and save your changes.

Changing zones for regional clusters

Currently, it is only possible to change the zones for existing regional clusters using the gcloud command.

To add or remove zones for a regional cluster, use the gcloud container clusters update command with the --region flag:

gcloud container clusters update CLUSTER_NAME \
  --region COMPUTE_REGION \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Replace the following:

  • CLUSTER_NAME: the name of the cluster.
  • COMPUTE_REGION: the region in which the cluster runs.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: the zones control plane region in which the nodes are created. The zones must be in the same COMPUTE_REGION as the cluster's control plane(s), specified by the --region flag.

For example, example-cluster runs in us-central1-a and us-central1-b. To add us-central1-c, you'd run the following command:

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b,us-central1-c

As another example, example-cluster runs in us-central1-a, us-central1-b and us-central1-c. If you only want the cluster to run in us-central1-a and us-central1-b, you'd run the following command:

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b

Resizing clusters

You can resize a Standard cluster to increase or decrease the number of nodes it has. For example, if you want to stop your cluster from consuming resources without deleting it, you can scale the nodes down to zero. To learn more about resizing, see Resizing a cluster.

Autopilot clusters are sized automatically based on your Pod specifications, so resizing your cluster isn't something you need to worry about. For example, if you change the number of replicas of your Pod, or the resources it requests, the cluster will be sized up or down appropriately.

If you would like a more efficient way to optimize your clusters, you can also use Vertical Pod Autoscaling (VPA). The autoscaler can recommend values for CPU and memory requests and limits, or it can automatically update the values.

Deleting clusters

When needed, you can delete a cluster. To learn more, see Deleting a cluster.

Adding clusters to a fleet

If your organization uses multiple clusters, you can simplify multi-cluster management by adding the clusters to a fleet: a logical grouping of Kubernetes clusters. Creating a fleet helps your organization uplevel management from individual clusters to entire groups of clusters, and lets you use fleet-enabled features such as Multi Cluster Ingress, Config Sync, and Policy Controller.

You can add GKE clusters to a fleet by using the Google Cloud console, gcloud CLI, or declaratively using Terraform or Config Connector.

You can learn more about how fleets work in Fleet management, and about creating fleets in Create fleets to simplify multi-cluster management.

What's next