Training Module

Kubernetes Multi-Master Disaster Recovery — Koordinierte etcd-Wiederherstellung

Dieses 120-Minuten-Modul schließt eine Lücke, die zwei Vorgängermodule dieses Repos jeweils ausdrücklich offen gelassen haben: “Kubernetes Cluster-Recovery” hat euch Snapshot und Restore an einem einzelnen etcd-Member beigebracht, “Kubernetes Hochverfügbarkeit” hat euch einen echten Drei-Control-Plane-Cluster bauen und das Raft-Quorum bei einem simulierten Node-Ausfall live beobachten lassen – beide Module benennen an ihrem Ende wörtlich dieselbe offene Frage: Was tut ihr, wenn beides gleichzeitig zutrifft – ein produktiver Cluster mit mehreren etcd-Membern, bei dem tatsächlich etwas kaputtgeht? Ihr startet mit der entscheidenden Unterscheidung, die im Ernstfall über eure erste Reaktion entscheidet: Verliert ihr einen Control-Plane-Node, während die übrigen Member weiterhin eine Raft-Mehrheit bilden, ist das ein Ersatz-Fall – der tote Member wird sauber aus dem laufenden Cluster entfernt, ein neuer tritt bei, ohne dass irgendwo ein Snapshot ins Spiel kommt. Verliert ihr dagegen die Mehrheit der Member gleichzeitig, ist der Cluster für jede Zustandsänderung eingefroren, und es bleibt nur die koordinierte Wiederherstellung aus einem Snapshot – auf allen betroffenen Membern gleichzeitig, mit identischem neuen Cluster-Token und exakt übereinstimmenden –initial-cluster-Flags, sonst entstehen mehrere unabhängige Ein-Member-Cluster statt eines wiederhergestellten Mehr-Member-Clusters. Im ersten Hands-on übt ihr den Ersatz-Fall an eurem eigenen Drei-Control-Plane-kind-Cluster: einen Node stoppen, den toten Member mit etcdctl member remove sauber austragen, einen frischen Node per kubeadm join –control-plane beitreten lassen und verifizieren, dass die Cluster-ID dabei unverändert bleibt – kein neuer Cluster, sondern derselbe, wieder auf drei Membern. Im zweiten, größeren Hands-on kippt ihr bewusst das Quorum, erlebt den eingefrorenen Cluster am eigenen kubectl, und übt die koordinierte Wiederherstellung aus einem zuvor gezogenen Snapshot auf mehreren Membern gleichzeitig – inklusive der Fallstricke, die entstehen, wenn ihr das nacheinander statt koordiniert tut. Bewusst nicht Teil dieses Moduls: keine erneute Snapshot-Grundlage (kennt ihr aus Cluster-Recovery), kein Raft-Quorum-Grundlagenteil (kennt ihr aus Hochverfügbarkeit), kein Velero/PVC-Restore und keine automatisierte Backup-Pipeline – siehe Modulaufbau. Voraussetzung sind beide Vorgängermodule gleichzeitig. Die Session läuft weiterhin vollständig lokal über kind, ohne Cloud-Account und ohne Kostenwirkung – mit demselben höheren Ressourcenbedarf wie im Modul Hochverfügbarkeit, weil wieder drei Control-Plane-Container gleichzeitig laufen.

Format

120 Minuten, live (remote oder vor Ort), Input & Hands-on

Teilnehmende

Ops/Admins, die einen produktiven Multi-Control-Plane-Cluster im Ernstfall koordiniert wiederherstellen können wollen – nicht nur einen Single-Member-Cluster

Voraussetzungen

Abgeschlossene Module “Kubernetes Cluster-Recovery” UND “Kubernetes Hochverfügbarkeit” (beide Pflicht), lauffähige lokale Docker-Umgebung für kind – etwas höherer Ressourcenbedarf, weil drei Control-Plane-Container parallel laufen

Warum dieses Training für deine Organisation wirkt

Zwei gelernte Fähigkeiten, eine offene Kombination

Snapshot/Restore an einem Member und ein Drei-Node-Cluster mit Quorum-Beobachtung sind zwei einzelne Fähigkeiten. Ohne dieses Modul bleibt offen, was passiert, wenn ein produktiver Multi-Member-Cluster tatsächlich beschädigt wird – genau die Kombination, die im Ernstfall zählt.

Ersatz und Wiederherstellung sind zwei verschiedene Prozeduren

Wer im Ernstfall bei intaktem Quorum reflexhaft zum Snapshot greift – oder bei Quorum-Verlust versucht, nur einen einzelnen Node “auszutauschen” –, verliert wertvolle Zeit oder riskiert einen inkonsistenten Cluster. Die Unterscheidung vorher einmal geübt zu haben, verhindert genau diesen Fehler.

Unkoordinierte Parallel-Restores sind der stille Klassiker

Mehrere Member unabhängig voneinander aus demselben Snapshot wiederherzustellen, ohne Cluster-Token und –initial-cluster abzustimmen, erzeugt mehrere eigenständige Ein-Member-Cluster statt eines wiederhergestellten Mehr-Member-Clusters – ein Fehler, der erst beim nächsten Schreibversuch auffällt, nicht sofort.

Was Teilnehmende mitnehmen

  • Die zwei Ausfallszenarien eines Multi-Control-Plane-Clusters sauber unterscheiden: Node-Verlust bei intaktem Quorum (Ersatz-Fall) gegenüber Verlust des Quorums selbst (Recovery-Fall).
  • Einen toten etcd-Member bei intaktem Quorum mit etcdctl member remove sauber aus dem laufenden Cluster austragen, statt ihn einfach zu ignorieren.
  • Einen frischen Control-Plane-Node per kubeadm join –control-plane beitreten lassen und anhand der unveränderten Cluster-ID verifizieren, dass es sich um einen Beitritt handelt, keinen neuen Cluster.
  • Nach vollständigem Quorum-Verlust mehrere etcd-Member koordiniert aus demselben Snapshot wiederherstellen: neuer, für alle Member identischer Cluster-Token, konsistente –initial-cluster-Flags, je Member eindeutige –initial-advertise-peer-urls.
  • Die Reihenfolge benennen, die einen koordinierten Restore von einem unkoordinierten unterscheidet – und den konkreten Fehlerfall (divergierende Cluster-IDs durch unabgestimmte Parallel-Restores) an einem Beispiel nachvollziehen.
  • Eine begründete Entscheidung treffen, welche der beiden Prozeduren im jeweiligen Ausfallbild die richtige ist, statt im Ernstfall zu raten.

Für wen dieses Modul ideal ist

  • • Ops/Admins mit abgeschlossenen Modulen “Kubernetes Cluster-Recovery” UND “Kubernetes Hochverfügbarkeit”
  • • Teams, die einen produktiven Multi-Control-Plane-Cluster betreiben oder planen und im Ernstfall koordiniert statt experimentell reagieren wollen
  • • Alle, die die Grenze zwischen “einen Node ersetzen” und “einen Cluster wiederherstellen” bisher nur aus der Dokumentation kennen, nicht aus eigener Übung

Rahmendaten

  • • Dauer: 120 Minuten live (remote oder vor Ort)
  • • Format: Input, Live-Demo, zwei aufeinander aufbauende Hands-on-Übungen (Node-Ersatz, koordinierte Recovery), Fallstrick-Analyse als Abschlussblock
  • • Voraussetzungen: beide Module “Kubernetes Cluster-Recovery” und “Kubernetes Hochverfügbarkeit”, lauffähige lokale Docker-Umgebung für kind, keine Cloud-Kostenwirkung

Modulaufbau & Agenda

  1. Zwei Szenarien — Node-Verlust vs. Quorum-Verlust (10 min): die Unterscheidung, die über die richtige erste Reaktion entscheidet, ohne Snapshot- oder Raft-Grundlagen zu wiederholen.

  2. Hands-on 1: Cluster-Baseline & Node-Ersatz bei intaktem Quorum (45 min, Hands-on): Drei-Control-Plane-Cluster reproduzieren, Baseline-Snapshot ziehen, einen Node stoppen, den toten Member mit etcdctl member remove austragen, einen neuen Node per kubeadm join –control-plane beitreten lassen, unveränderte Cluster-ID verifizieren.

  3. Hands-on 2: Quorum-Verlust — koordinierte Recovery aus dem Snapshot (50 min, Hands-on): die Mehrheit der Member gleichzeitig stoppen, den eingefrorenen Cluster live erleben, mehrere Member koordiniert mit neuem Cluster-Token und konsistenten –initial-cluster-Flags aus dem Snapshot wiederherstellen, Fallstrick unkoordinierter Parallel-Restores am Beispiel nachvollziehen.

  4. Reihenfolge & Fallstricke im Rückblick (10 min): Entscheidungsbaum Node-Ersatz vs. koordinierte Recovery, die drei häufigsten Fehlerquellen beider Prozeduren im Überblick.

  5. Puffer/Q&A (5 min): offene Fragen, individuelle Vertiefung je nach Cluster-Topologie der Teilnehmenden.

Dieses Modul setzt beide Vorgängermodule gleichzeitig voraus: Kubernetes Cluster-Recovery — etcd Backup & Restore (Snapshot/Restore-Handwerk an einem einzelnen Member) und Kubernetes Hochverfügbarkeit — Multi-Master Control-Plane (ein echter Drei-Control-Plane-Cluster samt Raft-Quorum-Beobachtung). Beide Module benennen an ihrem jeweiligen Ende wörtlich dieselbe Lücke, die dieses Modul schließt: koordinierte Recovery eines produktiven Multi-Control-Plane-Clusters mit mehreren etcd-Membern. Wer eines der beiden Module noch nicht hat, sollte es zuerst buchen – keines der beiden reicht hier allein.

Bewusst nicht Teil dieses Moduls, weil bereits an anderer Stelle behandelt oder außerhalb des Rahmens: keine erneute Einführung in Snapshot-Erstellung oder Restore-Grundlagen (Modul Cluster-Recovery), kein Raft-Quorum-Grundlagenteil (Modul Hochverfügbarkeit), kein Velero-/PersistentVolumeClaim-Restore (eigenes Thema in Kubernetes Storage) und kein automatisiertes Backup-Tooling per CronJob/Operator – dieses Modul zeigt weiterhin den manuellen, bewusst nachvollziehbaren Snapshot als Grundlage, keine produktive Automatisierung.

Hands-on Inhalte (Auszug)

Baseline & Ausfall simulieren

  • Den Drei-Control-Plane-kind-Cluster aus dem HA-Modul reproduzieren und von allen drei Membern einen Baseline-Snapshot ziehen
  • Mit docker stop gezielt einen bzw. zwei Control-Plane-Container anhalten, je nach Übungsteil

Node-Ersatz bei intaktem Quorum

  • Den toten Member mit etcdctl member remove <ID> sauber aus dem laufenden Cluster austragen
  • Einen neuen Node per kubeadm join –control-plane beitreten lassen und die unveränderte Cluster-ID als Beleg für einen Beitritt statt eines Neuaufbaus prüfen

Koordinierte Recovery bei Quorum-Verlust

  • Mehrere Member gleichzeitig mit neuem Cluster-Token und identischem –initial-cluster aus dem Snapshot restaurieren, je Member mit eigener –initial-advertise-peer-urls
  • Alle wiederhergestellten Member koordiniert gleichzeitig starten und das volle Quorum verifizieren

Fallstrick nachvollziehen

  • Einen unkoordinierten Parallel-Restore mit abweichendem Cluster-Token nachstellen und die divergierenden Cluster-IDs als Fehlerbild live sehen
  • Den korrigierten, koordinierten Ablauf dagegenstellen, um den Unterschied konkret zu machen

Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit vom Quorum-Verlust bis zur verifizierten koordinierten Wiederherstellung) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.

Bereit, das Modul zu buchen?

Wir passen die Hands-on-Übung auf euren Erfahrungsstand und eure Zielumgebung an.

Academy Briefing anfragen