Training Module
Kubernetes Objekt-Backup: Velero & PVC-Restore
Dieses Modul (100 bis 110 Minuten) schließt eine Lücke, die zwei
Vorgängermodule dieses Repos jeweils ausdrücklich offen gelassen haben:
“Kubernetes Cluster-Recovery” hat Velero nur
konzeptionell eingeordnet, ohne eigenes Hands-on, “Kubernetes
Multi-Master Disaster Recovery” hat Velero und PVC-Restore bewusst
ausgeklammert. Ihr startet mit der Einordnung, die den Unterschied zum
etcd-Snapshot klar macht: Velero sichert
Kubernetes-API-Objekte (Deployments, Services, ConfigMaps und mehr)
selektiv, namespace- und label-genau, während ein etcd-Snapshot immer
den gesamten Clusterzustand auf einen Zeitpunkt zurücksetzt.
Danach folgt die Architektur: ein Velero-Server-Deployment im Cluster,
die velero-CLI als Steuerzentrale und ein
node-agent-DaemonSet für den Zugriff auf
Volume-Inhalte, alle über eine BackupStorageLocation
an ein S3-kompatibles Object-Storage-Backend angebunden. Für dieses
Modul übernimmt MinIO, als Pod im selben Cluster
betrieben, genau diese Rolle: ein S3-kompatibles Backend, komplett
lokal, ohne Cloud-Account. Im ersten Hands-on legt ihr einen eigenen
Namespace samt API-Objekten an, sichert ihn per
velero backup create, löscht ihn gezielt und stellt ihn
per velero restore create selektiv wieder her, ohne dass
der Rest des Clusters davon betroffen ist. Im zweiten, größeren
Hands-on geht es um den Fall, den der erste bewusst ausspart: den
Inhalt einer PersistentVolumeClaim. Weil die hier
verwendeten lokalen StorageClasses (Minikubes standard-
Provisioner bzw. kinds local-path-Provisioner) auf
hostPath aufsetzen und keine CSI-Snapshot-Schnittstelle
bereitstellen, kann Velero hier keinen CSI-Volume-Snapshot ziehen.
Stattdessen übernimmt der node-agent-Pfad (dateisystembasierte
Integration, historisch über Restic, neuere Velero-Versionen
standardmäßig über Kopia) ein dateisystembasiertes
Backup der Volume-Daten direkt vom Node, unabhängig von der
StorageClass. Ihr sichert eine PVC über diesen Pfad, löscht sie und
stellt ihren Inhalt in einer neuen PVC wieder her. Voraussetzung sind
beide Vorgängermodule gleichzeitig:
Kubernetes Cluster-Recovery
(etcd-Snapshot als Grundlage für die Abgrenzung) und
Kubernetes Storage
(PersistentVolume, PersistentVolumeClaim und StorageClass als
Vorwissen für den zweiten Hands-on-Block). Die Session läuft
vollständig lokal über Minikube oder kind samt In-Cluster-MinIO, ohne
Cloud-Account und ohne Kostenwirkung.
Format
100 bis 110 Minuten, live (remote oder vor Ort), Input & Hands-on
Teilnehmende
Ops/Admins, die Kubernetes-Objekte und PVC-Inhalte selektiv sichern und wiederherstellen können wollen, nicht nur den gesamten Clusterzustand per etcd-Snapshot
Voraussetzungen
Abgeschlossene Module “Kubernetes Cluster-Recovery” UND “Kubernetes Storage” (beide Pflicht), lauffähige lokale Docker-Umgebung für Minikube oder kind
Warum dieses Training für deine Organisation wirkt
Ein API-Objekt ist kein etcd-Snapshot
Wer im Ernstfall nur einen einzelnen Namespace zurückholen will, aber nur das Alles-oder-nichts-Werkzeug etcd-Snapshot kennt, riskiert einen unnötigen Komplett-Rollback des gesamten Clusters. Velero liefert die selektive Alternative dazu.
PVC-Inhalte brauchen einen eigenen Pfad
Ein API-Objekt-Backup sichert das Manifest einer
PersistentVolumeClaim, nicht automatisch ihren Inhalt. Ohne den
node-agent-Pfad bleibt der eigentliche
Anwendungszustand ungesichert, gerade dort, wo keine
CSI-Snapshots zur Verfügung stehen.
Ohne Object-Storage-Backend kein Backup
Velero schreibt grundsätzlich in ein S3-kompatibles Backend, nie direkt auf den Node. Wer dieses Zusammenspiel nicht einmal selbst aufgebaut hat, unterschätzt, wie viel Konfiguration vor dem ersten Backup steht.
Was Teilnehmende mitnehmen
- Velero als selektives API-Objekt-Backup von einem etcd-Snapshot abgrenzen: namespace- und label-genaue Wiederherstellung statt Totalrücksetzung des gesamten Clusterzustands.
- Die Velero-Architektur benennen (Server-Deployment, CLI,
node-agent-DaemonSet) und MinIO als lokales, S3-kompatibles Object-Storage-Backend als BackupStorageLocation registrieren. - Einen eigens angelegten Namespace samt API-Objekten per
velero backup createsichern, gezielt löschen und pervelero restore createselektiv wiederherstellen. - Begründen, warum die hier verwendeten lokalen StorageClasses (hostPath-basiert) keine CSI-Snapshots liefern und ein dateisystembasiertes Backup über den
node-agent-Pfad deshalb nötig ist. - Eine PersistentVolumeClaim mitsamt ihrem Inhalt über den
node-agent-Pfad sichern und in einer neuen PVC wiederherstellen. - Abgrenzen, was dieses Modul bewusst nicht leistet: produktive Objekt-Storage-Anbindung, automatisierte Backup-Schedules und Cluster-Migration via Velero.
Für wen dieses Modul ideal ist
- • Ops/Admins mit abgeschlossenen Modulen “Kubernetes Cluster-Recovery” UND “Kubernetes Storage”
- • Alle, die neben dem etcd-Snapshot einen selektiven, namespace-genauen Wiederherstellungsweg kennen wollen
- • Teams, die PVC-Inhalte bisher für automatisch gesichert hielten, nur weil das zugehörige API-Objekt gesichert war
Rahmendaten
- • Dauer: 100 bis 110 Minuten live (remote oder vor Ort)
- • Format: Input, Live-Demo, zwei aufeinander aufbauende Hands-on-Übungen (API-Objekt-Restore, PVC-Restore), Abgrenzung als Abschlussblock
- • Voraussetzungen: beide Module “Kubernetes Cluster-Recovery” und “Kubernetes Storage”, lauffähige lokale Docker-Umgebung für Minikube oder kind, keine Cloud-Kostenwirkung
Modulaufbau & Agenda
Recap & Einordnung: Velero vs. etcd-Snapshot (10 min): die entscheidende Unterscheidung, warum ein selektives API-Objekt-Backup ein anderes Werkzeug ist als ein vollständiger etcd-Snapshot, ohne Snapshot-Grundlagen aus dem Vorgängermodul erneut einzuführen.
Architektur: Velero-Komponenten & MinIO als lokales S3-Backend (15 min): Server-Deployment, CLI und
node-agent-DaemonSet im Zusammenspiel, MinIO als in-Cluster betriebenes, S3-kompatibles Object-Storage-Backend, Registrierung als BackupStorageLocation.Hands-on 1: Namespace- und API-Objekt-Backup & Restore (25 min, Hands-on): einen eigenen Namespace samt API-Objekten anlegen, per
velero backup createsichern, gezielt löschen und pervelero restore createselektiv wiederherstellen.Hands-on 2: PVC-Restore über den node-agent-Pfad (40 min, Hands-on): begründen, warum die hier verwendete lokale StorageClass keine CSI-Snapshots liefert, eine PVC samt Inhalt über den
node-agent-Pfad sichern, löschen und in einer neuen PVC wiederherstellen.Abgrenzung: was dieses Modul bewusst nicht leistet (10 min): produktive Objekt-Storage-Anbindung, automatisierte Backup-Schedules per Velero-Schedule-CRD und Cluster-Migration via Velero im Überblick, ohne eigenes Hands-on.
Puffer/Q&A (10 min): offene Fragen, individuelle Vertiefung je nach Backup-Anforderung der Teilnehmenden.
Dieses Modul setzt beide Vorgängermodule gleichzeitig voraus: Kubernetes Cluster-Recovery: etcd Backup & Restore (etcd-Snapshot als Grundlage für die Abgrenzung zu Velero) und Kubernetes Storage: Volumes, PersistentVolumes & Claims (PersistentVolume, PersistentVolumeClaim, AccessModes und StorageClass als Vorwissen für Hands-on 2). Wer eines der beiden Module noch nicht hat, sollte es zuerst buchen, keines der beiden reicht hier allein.
Was dieses Modul bewusst nicht behandelt: die produktive Anbindung an einen echten Objekt-Storage-Dienst (S3, Azure Blob Storage oder Google Cloud Storage statt des lokalen MinIO), automatisierte Backup-Schedules über die Velero-Schedule-CRD sowie die Migration eines Clusters in einen anderen über Velero. Dieses Modul zeigt den manuellen, nachvollziehbaren Backup- und Restore-Ablauf als Grundlage, keine produktive Automatisierung und keine Cluster-Migration.
Hands-on Inhalte (Auszug)
MinIO & BackupStorageLocation einrichten
- MinIO als Pod im Cluster betreiben und einen Bucket für Velero-Backups anlegen
- Velero mit den MinIO-Zugangsdaten installieren und die Verbindung als BackupStorageLocation verifizieren
Namespace-Backup & Restore
- Einen eigens angelegten Namespace samt API-Objekten per
velero backup createsichern und den Backup-Status prüfen - Den Namespace gezielt löschen und per
velero restore createselektiv wiederherstellen, ohne den Rest des Clusters anzufassen
PVC-Backup über den node-agent-Pfad
- Eine PersistentVolumeClaim mit Dateninhalt für den
node-agent-Pfad per Annotation markieren und pervelero backup createsichern - Die PVC löschen und ihren Inhalt in einer neuen PVC über
velero restore createwiederherstellen
Verifikation
- Mit
kubectl get all -nundkubectl execbestätigen, dass API-Objekte und Dateiinhalt nach dem Restore identisch zum Ausgangszustand sind - Backup- und Restore-Status fortlaufend mit
velero backup describeundvelero restore describegegenprüfen, statt dem Ergebnis blind zu vertrauen
Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit vom Backup bis zum verifizierten Restore) 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