Sebastian Scheele, CEO von Kubermatic, geht in seinem Gastbeitrag auf die besonderen Anforderungen beim Backup von Containern ein. Mit seinem Unternehmen bietet er eine Container-Management-Lösung u. a. automatisierte Backups für Kubernetes und container-basierte Infrastruktur.
Auch Container brauchen Backups, aber anders
Laut einer Studie von Portworx by Pure Storage erhöhten 68 Prozent der IT-Profis ihre Nutzung von Kubernetes als Folge der Pandemie. Ziel war vor allem eine schnellere Bereitstellung neuer Anwendungen und eine stärkere Automatisierung. Das blieb nicht ohne Folgen für die Datensicherheit.
Herkömmliche serverbasierte Datensicherungsmethoden sind nicht in dem Maße skalierbar, wie es für Kubernetes erforderlich ist. Laut einer aktuellen Umfrage der Enterprise Storage Group (ESG) glauben 75 Prozent der Befragten, dass Container auf die gleiche Weise gesichert werden können wie herkömmliche Anwendungen. Das funktioniert jedoch bei Containern nicht. Container laufen oft über mehrere Server verteilt und mit unterschiedlichen Speicherzielen. Container sind in der Regel so konzipiert, dass sie nur dann existieren, wenn sie benötigt werden.
Viele Backup-Lösungen sind traditionell auf einen Server oder eine VM ausgerichtet – auch wenn einige Hersteller Kubernetes-Unterstützung versprechen. Die meisten der klassischen Backup-Softwarelösungen sind zudem älter als Kubernetes und unterstützen daher keine für Container typischen Schlüsselkonzepte wie Namespaces und Konfiguration. Im Gegensatz zur gewohnten Sicherung von Dateien und Datenbanken ist bei Container-Backups daher einiges zu beachten.
Besonderheiten bei Container-Backups
Containerisierte Anwendungen werden für die Bereitstellung moderner Daten und Anwendungen immer wichtiger. Gleichzeitig ist Kubernetes mit seiner einfachen Skalierbarkeit, Portabilität und seinem schnellen Iterationszyklus besonders effektiv, um schnelle Entwicklungen und Innovationen zu ermöglichen. Um sicherzustellen, dass diese wichtigen Bausteine einer modernen Infrastruktur nicht ungeschützt bleiben, müssen IT-Verantwortliche eine geeignete Backup-Strategie auch für Container entwickeln. Lösungen wie die von Kubermatic unterstützen ITOM-Teams bei der Umsetzung granularer Backup- und Wiederherstellungspläne.
Es gibt vier entscheidende Aspekte, worauf es bei Container-Backups ankommt: die Planung automatisierter regelmäßiger Backups, das sichere Speichern von Backups getrennt vom Cluster, die separate Sicherung von Namespaces für eine bessere Granularität und die regelmäßige Prüfung von Wiederherstellungen.
1.) Planung automatisierter regelmäßiger Backups
Projekteigentümer sollten Backup-Zeitpläne pro Cluster definieren. Es ist wichtig, Backups und Wiederherstellungen pünktlich durchzuführen. Bei der Auswahl geeigneter Management-Lösungen sollten Entscheider auf eine einfache, zentrale Verwaltung von Benutzer-Cluster-Backups und standardisierte Schnittstellen achten. Gute Lösungen erlauben es, so viele Cluster-Backup-Speicherorte wie nötig zu definieren und sie einzelnen Benutzer-Clustern zuzuweisen.
2.) Sicheres Speichern von Backups getrennt vom Cluster
Die Verwaltung sämtlicher Cluster-Backup-Speicherorte sollte einheitlich sein und für alle Cluster im selben Projekt verwendet werden können. Lösungen wie die von Kubermatic verwenden zudem spezielle Präfixe, um Kollisionen mit anderen Benutzer-Clustern zu vermeiden.
3.) Separate Sicherung von Namespaces für eine bessere Granularität
Es sollte möglich sein, bestimmte Namespaces der Cluster zu sichern und wiederherzustellen. Fortschrittliche Lösungen holen sich eine Liste zuvor definierter Namespaces direkt aus dem Cluster und bieten diese zur Auswahl aus einer Dropdown-Liste an. Benutzer sollten den Backup-Ablaufzeitraum frei festlegen und wählen können, ob sie persistente Volumes sichern möchten oder nicht.
4.) Regelmäßige Prüfung, ob die Wiederherstellung funktioniert
Auch die Wiederherstellung von Containern muss regelmäßig getestet werden. Bereits bei der Erstellung einer Sicherung sollten Benutzer individuelle Parameter für die Wiederherstellungsanforderung festlegen können. So können später die Namespaces ausgewählt werden, die wiederhergestellt werden sollen. Der Wiederherstellungsstatus muss kontinuierlich verfolgbar sein. Nur so lässt sich prüfen, ob die Wiederherstellung tatsächlich funktioniert bzw. woran es liegt, wenn es mal nicht funktioniert.
Fazit
Moderne Lösungen sollten neben der Automatisierung von Backups und Wiederherstellungstests zudem standardmäßig Funktionen wie rollenbasierter Zugriffskontrolle (RBAC), Authentifizierung, Echtzeit-Protokollierung und SSH-Schlüsselverwaltung (Secure Shell Protocol) anbieten. Im Rahmen der Verwaltung von Kubernetes-Cluster und persistenten Volumes müssen nahtlose Backups, Wiederherstellungen und Migrationen sowohl in On-Premises als auch in Public-Cloud-Umgebungen gewährleistet sein. Die Durchführung regelmäßiger Backups sowie das Löschen alter Backups sollte vollständig automatisiert möglich sein.
Die Kubermatic Kubernetes Platform (KKP) basiert auf dem Kubernetes-Backup-Tool Velero. Über die Kubernetes-API lassen sich Volumes und Snapshots auf einem benutzerdefinierten Speicherziel anlegen. Darüber hinaus können Projekteigentümer alle Einstellungen für das Backup ohne direkten Zugriff auf die Kubernetes etcd-Datenbank verwalten. Diese Container-Backup-Funktion ist nicht nur für Disaster Recover, sondern auch für die Migration von Kubernetes-Clustern geeignet.