Backup-Automation mit Kubernetes, SSH & Monitoring

Dieses Projekt ist ein praxisnahes Infrastructure- & DevOps-Projekt, das aus einem realen Bedarf entstanden ist:
eine zuverlässige, inkrementelle Backup-Lösung für mehrere produktive Anwendungen auf einem KVM-Server.

Ziel des Projekts

Entwicklung einer robusten Backup-Pipeline, die:

  • Daten remote per SSH sichert
  • inkrementell über mehrere Tage/Wochen arbeitet
  • automatisiert in einem Kubernetes-Umfeld läuft
  • Fehler sichtbar macht, statt still zu scheitern

Der Fokus liegt dabei nicht auf „Backup um jeden Preis“, sondern auf Betriebssicherheit, Transparenz und Monitoring.


⚙️ Technischer Ansatz

  • Das Backup läuft als Kubernetes CronJob in einem lokalen Cluster
  • Gesichert werden mehrere Docker-Compose-Verzeichnisse eines entfernten KVM-Servers
  • SQL-Dumps werden vorab direkt auf dem KVM-Server per Cron erstellt und anschließend mitgesichert
  • Die Datenübertragung erfolgt lesend per SSH

Für die eigentliche Backup-Logik wird ein dediziertes Backup-Tool eingesetzt (z. B. restic),
ergänzt durch ein Bash-Wrapper-Skript, das für Orchestrierung und Sicherheit sorgt.


🛡️ Betrieb & Sicherheit

Ein zentrales Ziel des Projekts ist es, Fehlerfälle aktiv zu erkennen:

  • Preflight-Checks (z. B. Erreichbarkeit, verfügbarer Speicherplatz)
  • definierte Exitcodes statt stiller Abbrüche
  • Integration in ein bestehendes Grafana-Monitoring
  • automatische Benachrichtigungen bei Fehlern oder ausgebliebenen Backups

So wird nicht nur gesichert, dass Backups existieren, sondern auch,
dass sie tatsächlich erfolgreich gelaufen sind.


🌱 Lern- & Architektur-Fokus

Das Projekt dient bewusst nicht nur der Datensicherung, sondern auch als Lernfeld für:

  • Kubernetes-CronJobs & containerisierte Automatisierung
  • Bash als Glue-Language für Infrastruktur-Workflows
  • saubere Trennung von Backup-Logik, Orchestrierung und Monitoring
  • produktionsnahe DevOps-Denkmuster („Was passiert im Fehlerfall?“)

🔍 Status [09.02.2026]

🛠 Work in Progress
Das Projekt wird iterativ erweitert und dokumentiert.
Nach Abschluss und erfolgeichen Tests wird es auf unseren produktiven K8sCluster deployed und betrieben.

Repository

Im Repository finden sich Kubernetes-Manifeste, Test-Pods und Infrastruktur-Definitionen für die Backup-Automatisierung nach aktuellem Stand.

https://github.com/RubinaWeinzettl/kvmbackup