{
  "id": 3654353,
  "title": "Progressive cluster upgrades at scale: A technical guide to GKE rollout sequencing with custom stages",
  "url": "https://urgent.news/2026/08/27/progressive-cluster-upgrades-at-scale-a-technical-guide-to-gke",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-27T03:10:21.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/googlecloud/progressive-cluster-upgrades-at-scale-a-technical-guide-to-gke-rollout-sequencing-with-custom-g63"
  },
  "original_language": "en",
  "account": "Upgrading Kubernetes clusters in large enterprises can be a delicate balance between security patches and maintaining uptime. Traditionally, Google Kubernetes Engine (GKE) rolled out upgrades progressively based on regional timelines, which didn't account for an organization's unique business structure. For instance, staging clusters in one region might need to validate before production clusters in another. The GA release of GKE rollout sequencing with custom stages addresses this issue by providing declarative control over cluster upgrades across multiple fleets, environments, and even Google Cloud organizations, prioritizing business criticality over geographical regions. Rollout sequencing operates on top of GKE fleet management, where fleets represent logical boundaries for different environments like development, staging, and production. By defining an ordered pipeline of upgrade stages managed by a central resource called RolloutSequence, you can control the sequencing of upgrades. Once GKE publishes a new upgrade target or you manually trigger a specific version, it creates a Rollout object that progresses through the stages sequentially. Control plane upgrades commence in the initial stage, followed by node upgrades running in parallel with control plane upgrades. Once both control plane and nodes reach the specified version and satisfy the soak duration, the rollout advances to the next stage. If a stage takes more than 30 days due to maintenance windows or exclusions, GKE automatically triggers a forced soak period to prevent the entire process from stalling. Custom stages allow you to divide a single fleet into multiple granular phases using label selectors. For example, you can label certain clusters as canary targets and upgrade them before the rest of the production fleet. The YAML manifest for a three-stage sequence might look like this: Stage 1 targets all clusters in the dev-fleet, Stage 2 targets specific clusters in the prod-fleet with a label selector indicating they're canary, and Stage 3 completes the upgrade for the remaining prod-fleet clusters. Important architecture rules include ensuring the last stage referencing a fleet without a label selector acts as a catch-all to ensure all remaining clusters are upgraded, and if a cluster matches multiple stages, GKE assigns it to the earliest matching stage. Operational controls allow you to pause, resume, or cancel rollouts, and you can restrict the scope of upgrades to control plane or node patches only, while mandatory upgrades will still proceed to maintain security and stability. Rollout sequences support cross-project and cross-organization fleet memberships, and Google recommends maintaining RolloutSequence resources in a dedicated host project. Each sequence can have up to 15 stages, and fleets can host up to 250 clusters (up to 2,000 with quota increases). Total soak duration can be configured up to 90 days, with individual stage soak times limited to 30 days. This shift from regional schedules to customizable sequencing brings greater flexibility and control to Kubernetes cluster upgrades in complex enterprise environments.",
  "summary": "Upgrading Kubernetes clusters across a large enterprise fleet is often a balancing act between staying current with security patches and avoiding outages. By default, Google Kubernetes Engine (GKE) rolls out automatic upgrades progressively according to Google Cloud regional timelines. While regional rollout works well for standalone clusters, it does not understand your organization's business…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}