Skip to main content
In this guide, you’ll learn how to upgrade your GKE control plane (master) and node pools using the gcloud CLI. Manual upgrades give you granular control over version selection and scheduling. Table of Contents
  1. Prerequisites
  2. 1. Set Up Cloud Shell Environment
  3. 2. List Available GKE Versions
  4. 3. Inspect Your Cluster’s Current Version
  5. 4. Upgrade the Control Plane (Master)
  6. 5. Upgrade the Node Pool
  7. 6. Verify the Final Versions
  8. Links and References

Prerequisites

  • You have the Google Cloud SDK installed or are using Cloud Shell.
  • Your IAM account has the Kubernetes Engine Admin role or equivalent permissions.
Ensure you’re authenticated:

1. Set Up Cloud Shell Environment

Configure your active project and default compute zone:
Replace YOUR_PROJECT_ID with your Google Cloud project ID.

2. List Available GKE Versions

Retrieve the supported control plane and node versions for your zone:
Sample output:

3. Inspect Your Cluster’s Current Version

Describe your cluster to view its current master and node versions:
Look for these key fields:

4. Upgrade the Control Plane (Master)

Upgrade the control plane to a target version (for example, 1.27.3-gke.1700):
When prompted:
Control plane upgrades can cause brief API server interruptions. Plan a maintenance window if running production workloads.
This operation updates only the control plane.

5. Upgrade the Node Pool

After the master upgrade finishes, proceed with the node pool. By default, omitting --cluster-version upgrades nodes to match the control plane version. To specify a different version (e.g., 1.27.4-gke.900):
Confirm the prompt:
Nodes are cordoned, drained, and replaced one at a time based on your pool’s update strategy.

6. Verify the Final Versions

Re-run the describe command to confirm both versions:
Expected output:
Your cluster is now running the specified master and node pool versions.

Watch Video