Skip to main content
All of the catalog
Scenario

Day-2 Drill: Rolling Cluster Upgrade Under Load

Roll the cluster's worker nodes to a newer Kubernetes version one at a time while go-api serves live traffic. Each node is drained (respecting the PodDisruptionBudget) before it is replaced, so the application stays available throughout. The grade is the measured request success rate across the upgrade window.

Operationsk3d
Definition on GitHub

What you'll do

  • Protect go-api during a Kubernetes version upgrade with a PodDisruptionBudget
  • Roll worker nodes to a newer k3s version one at a time, draining each first
  • Verify the request success rate stayed above the SLO across the upgrade
  • Understand what k3d simulates faithfully vs. what a managed control-plane upgrade does

Stages

  1. 1baseline

    Scale go-api for HA and apply a PodDisruptionBudget so the rolling upgrade cannot take all replicas down at once

    go-api-availability-budget

Prerequisites

These are installed into the lab cluster for you — listed so you know what the scenario actually depends on.

ingressmonitoring/metricsgo-api

The incident field notes

One real Kubernetes failure a week — the symptom, the commands that found it, and the fix. Written from actual lab runs, not from memory.

You'll get the Kubernetes Incident Response Field Guide, plus occasional emails about new scenarios, posts and paid offerings such as courses and workshops. Unsubscribe any time.