gcloud CLI. Manual upgrades give you granular control over version selection and scheduling.
Table of Contents
- Prerequisites
- 1. Set Up Cloud Shell Environment
- 2. List Available GKE Versions
- 3. Inspect Your Cluster’s Current Version
- 4. Upgrade the Control Plane (Master)
- 5. Upgrade the Node Pool
- 6. Verify the Final Versions
- 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: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:| Field | Description |
|---|---|
| defaultClusterVersion | Version applied when no override is provided |
| validMasterVersions | Available versions for the control plane (master) |
| validNodeVersions | Available versions for the node pools |
| validImageTypes | Container-optimized OS images supported for node pools |
3. Inspect Your Cluster’s Current Version
Describe your cluster to view its current master and node versions:| Field | Current Value | Description |
|---|---|---|
| currentMasterVersion | 1.27.3-gke.100 | Control plane version |
| currentNodeVersion | 1.27.3-gke.100 | Node pool version |
nodePools[].management | autoUpgrade: true | Automatic upgrades enabled for nodes |
4. Upgrade the Control Plane (Master)
Upgrade the control plane to a target version (for example,1.27.3-gke.1700):
Control plane upgrades can cause brief API server interruptions. Plan a maintenance window if running production workloads.
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):