gcloud beta container clusters upgrade NAME [--async] [--cluster-version=CLUSTER_VERSION] [--control-plane-soak-duration=CONTROL_PLANE_SOAK_DURATION] [--image-type=IMAGE_TYPE] [--master] [--node-pool=NODE_POOL] [--location=LOCATION | --region=REGION | --zone=ZONE, -z ZONE] [GCLOUD_WIDE_FLAG …]
(BETA) Upgrades the Kubernetes version of an existing container
cluster.
This command upgrades the Kubernetes version of the node pools or
master of a cluster. Note that the Kubernetes version of the
cluster's master is also periodically upgraded automatically as new
releases are available.
If desired cluster version is omitted, node pool upgrades default
to the current master version and master upgrades
default to the default cluster version, which can be found in the server config.
During node pool upgrades, nodes will be deleted and recreated.
While persistent Kubernetes resources, such as Pods backed by replication
controllers, will be rescheduled onto new nodes, a small cluster may experience
a few minutes where there are insufficient nodes available to run all of the
scheduled Kubernetes resources.
Please ensure that any data you wish to keep is stored on a
persistent disk before upgrading the cluster. Ephemeral
Kubernetes resources--in particular, Pods without replication controllers--will
be lost, while persistent Kubernetes resources will get rescheduled.
pool-1 of sample-cluster to the
Kubernetes version of the cluster's master.
gcloud beta container clusters upgrade sample-cluster --node-pool=pool-1
Upgrade the node pool pool-1 of sample-cluster to
Kubernetes version 1.14.7-gke.14:
gcloud beta container clusters upgrade sample-cluster --node-pool=pool-1 --cluster-version="1.14.7-gke.14"
Upgrade the master of sample-cluster to the default cluster
version:
gcloud beta container clusters upgrade sample-cluster --masterNAME--async--cluster-version=CLUSTER_VERSION
If desired cluster version is omitted, node pool upgrades default
to the current master version and master upgrades
default to the default cluster version, which can be found in the server config.
You can find the list of allowed versions for upgrades by running:
gcloud container get-server-config--control-plane-soak-duration=CONTROL_PLANE_SOAK_DURATION--image-type=IMAGE_TYPEImage Type specifies the base OS that the nodes in the cluster/node pool will run on. If an image type is specified, that will be assigned to the cluster/node pool and all future upgrades will use the specified image type. If it is not specified the server will pick the default image type.
The default image type and the list of valid image types are available using the following command.
gcloud container get-server-config--master--node-pool=NODE_POOL--location=LOCATION--region=REGION--zone=ZONE, -z ZONE--access-token-file,
--account, --billing-project,
--configuration,
--flags-file,
--flatten, --format, --help, --impersonate-service-account,
--log-http,
--project, --quiet, --trace-token, --user-output-enabled,
--verbosity.
Run $ gcloud help for details.
gcloud container clusters upgradegcloud alpha container clusters upgrade
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-05-27 UTC.