Skip to main content
All of the catalog
Scenario

Day-2 Drill: Rolling Cluster Upgrade Under Load

Roll the cluster's worker nodes onto a new Kubernetes version one at a time while go-api serves live traffic. You write the PodDisruptionBudget, you cordon and drain each node, and you watch the PDB block the eviction that would have taken the app down. The grade is the measured request success rate across the upgrade window and a cluster left with no node behind.

OperationsVerifiedk3d
Definition on GitHub

What you'll do

  • Write and apply a PodDisruptionBudget that keeps go-api serving while nodes are evicted
  • Cordon and drain a worker node with kubectl, and read the PDB blocking the eviction
  • Replace each drained node with one on the target k3s version, one node at a time
  • Prove the request success rate held across the upgrade window, from Prometheus

Stages

  1. 1baseline

    Scale go-api to three replicas so a PodDisruptionBudget has something to protect. The PDB itself is yours to write.

    workload-ha-replicasupgrade-dashboard

Prerequisites

--deploy-prereqs installs these into the lab for you. They are listed so you know what the scenario depends on.

ingressmonitoring/metricsgo-api

Get updates

New scenarios and faults, release notes, and news about hosted labs if and when there is some. A few emails a month at most.

We'll email you about new releases, new lab content and paid offerings such as hosted labs, courses and workshops. Unsubscribe any time.