How to fix GKE cluster upgrade failed: timeout waiting for nodes to finish upgrading in Kubernetes

KubernetesINTERMEDIATEHIGHUpdated Dec 7, 2025ยท 108 views

GKE cluster upgrade fails when nodes timeout during upgrade, pod eviction fails, or control plane migration hangs. Clusters revert to original version or get stuck mid-upgrade due to insufficient capacity or blocking workloads.

Quick fix

Fixes GKE cluster upgrade failed: timeout waiting for nodes to finish upgrading

  1. Step 1
  2. Step 2
  3. Step 3
  4. Step 4
  5. Step 5
kubernetes โ€” error
# GKE cluster upgrade failed: timeout waiting for nodes to finish upgrading
GKE cluster upgrade failed: timeout waiting for nodes to finish upgrading

What this error means

This error occurs when GKE cannot complete the cluster upgrade process within the allowed timeframe. During upgrades, Google replaces nodes with new versions but must first evict pods and ensure cluster stability. If pods fail to evict, nodes hang during draining, or control plane components cannot migrate, the upgrade times out and rolls back. This leaves your cluster in an inconsistent state.

Typical symptoms

  • Cluster upgrade process hangs at 50% completion
  • Error message: "Timeout waiting for nodes to upgrade"
  • Some nodes report "Ready,SchedulingDisabled" indefinitely
  • Pods stuck in pending or evicted state
  • Control plane upgrade succeeds but node upgrade fails
  • Cluster reverts to original version after timeout
  • GKE console shows upgrade status as "In Progress" for hours

Common causes

  1. PodDisruptionBudget (PDB) preventing pod eviction during drain
  2. Insufficient cluster capacity to schedule evicted pods
  3. Local storage volumes preventing pod migration
  4. Long-running batch jobs refusing to terminate
  5. Node pool too small to handle rolling restart
  6. Persistent volume claim conflicts during node drain
  7. Control plane components taking too long to migrate

How to fix "GKE cluster upgrade failed: timeout waiting for nodes to finish upgrading"

1Step 1

First diagnostic step

2Step 2

Second diagnostic step

3Step 3

Third diagnostic step

4Step 4

Fourth diagnostic step

5Step 5

Fifth diagnostic step

Advanced notes

Additional notes and platform-specific considerations.

Frequently asked questions

What does "GKE cluster upgrade failed: timeout waiting for nodes to finish upgrad" mean?
This error occurs when GKE cannot complete the cluster upgrade process within the allowed timeframe. During upgrades, Google replaces nodes with new versions but must first evict pods and ensure cluster stability. If pods fail to evict, nodes hang during draining, or control plane components cannot migrate, the upgrade times out and rolls back.
How do I fix "GKE cluster upgrade failed: timeout waiting for nodes to finish upgrad"?
GKE cluster upgrade fails when nodes timeout during upgrade, pod eviction fails, or control plane migration hangs. Clusters revert to original version or get stuck mid-upgrade due to insufficient capacity or blocking workloads.
What causes "GKE cluster upgrade failed: timeout waiting for nodes to finish upgrad"?
PodDisruptionBudget (PDB) preventing pod eviction during drain Insufficient cluster capacity to schedule evicted pods Local storage volumes preventing pod migration
Is the "GKE cluster upgrade failed: timeout waiting for nodes to finish upgrad" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading