4 Minuten lesen

Quantifizierung und Reaktion auf die spezifischen Herausforderungen der Kubernetes-Sicherung

Die Website Google Cloud bietet vielleicht den besten Einblick, wie weit verbreitet Kubernetes in Unternehmen werden könnte.

Geschrieben von
Subbiah Sundaram
Veröffentlicht am
5. Juli 2021
Auf sozialen Netzwerken teilen

Zusammenfassung

Fast jedes Unternehmen erwartet in den nächsten Jahren die Einführung und Übernahme von Kubernetes in seine Produktionsumgebung.

Diese Unternehmen haben auch erkannt, dass Kubernetes bei der Einführung in die Produktion die gleichen Standards erfüllen muss wie ihre anderen Produktionsanwendungen. Zu diesen Anforderungen gehört, dass sie eine Möglichkeit zur Sicherung und Wiederherstellung der in Kubernetes gehosteten containerisierten Anwendungen haben müssen.

Auf der anderen Seite gibt es Gemeinsamkeiten zwischen der Sicherung von containerisierten Anwendungen und VMs. Alle Anwendungen sind virtuell, es gibt APIs zur Durchführung von Backups, und die Backup-Daten bestehen im Kern immer noch aus Einsen und Nullen. Dadurch ist es möglich, Backups von containerisierten Anwendungen und VMs in denselben Backup-Vaults zu sichern und zu speichern.

Die Sicherung von containerisierten Anwendungen in Kubernetes birgt jedoch fünf besondere Herausforderungen. Dazu gehören:

  1. Schutz der zeitlichen Daten und der Speicherung von containerisierten Anwendungen
  2. Verwaltung der unvorhersehbaren Natur von containerisierten Anwendungen
  3. Die Dynamik von sich schnell verändernden Kubernetes-Umgebungen bewältigen
  4. Bereitstellung der gesamten Bandbreite an Backup-Funktionen, die für Kubernetes benötigt werden
  5. Erstellen zuverlässiger Wiederherstellungen aus einer sich ständig ändernden Kubernetes-Produktionsumgebung

Um diese fünf Herausforderungen von Kubernetes-Backups zu meistern, muss jede Backup-Lösung die spezifischen Kubernetes-Funktionen nutzen. Vor allem muss sie die Metadaten nutzen, die mit jeder containerisierten Anwendung verbunden sind. Auf diese Weise kann sie ermitteln, ob die containerisierte Anwendung gesichert werden muss und wenn ja, wie sie am besten gesichert werden kann.

Diese Metadatenbezeichnungen müssen dann für mehrere Zwecke verwendet werden. Zumindest müssen sie dazu dienen, eindeutig zu identifizieren, welche Sicherung welche ist. Außerdem sollte es die Sicherungen über mehrere Container hinweg koordinieren, um bei Bedarf zuverlässige Wiederherstellungen synchronisieren zu können.

Schließlich benötigen Unternehmen eine Backup-Lösung, die auf einer Cloud-nativen Architektur basiert, um sich dynamisch an eine sich ständig verändernde Kubernetes-Umgebung anzupassen. Im Idealfall wird die Backup-Lösung auch als Service bereitgestellt und verwaltet sowohl containerisierte Anwendungen als auch VM-Backups.

HYCU adressiert diese spezifischen Herausforderungen von Kubernetes-Backups. Es erfüllt die Anforderungen von Unternehmen an den Schutz ihrer virtualisierten Umgebungen und ermöglicht ihnen gleichzeitig die Sicherung ihrer neuen Kubernetes-Umgebung. Dies ermöglicht es ihnen, Backups von containerisierten Anwendungen und VMs auf die gleiche Weise mit minimalen oder gar keinen Betriebsunterbrechungen zu verwalten.

 

Die Zukunft ist Kubernetes

Einer der größten Umbrüche in der Geschichte der Datenverarbeitung scheint kurz bevorzustehen. In dieser Iteration konzentrieren sich Unternehmen weniger auf die genaue Hardware, Software, Netzwerke, Virtualisierung oder Cloud-Technologien, die sie verwenden. Stattdessen können sie containerisierte Anwendungen auf jeder beliebigen Cloud-Plattform in jeder Umgebung einsetzen.

Diese Vision ist auf dem besten Weg, Wirklichkeit zu werden.

Mit der Bereitstellung von containerisierten Anwendungen, die von Kubernetes verwaltet und auf Cloud-nativen Plattformen gehostet werden, rückt dieses Ideal in greifbare Nähe.

Durch den Einsatz dieser Technologien der nächsten Generation können Unternehmen:

  • Beschleunigung und Verkürzung der Anwendungsentwicklung und -bereitstellung
  • die Platzierung von Anwendungen auf Cloud-Plattformen an den Geschäfts-, Kosten-, Leistungs- und Ressourcenanforderungen auszurichten
  • Bessere Vorhersage künftiger Kosten und Ressourcenanforderungen
  • Hosten von Anwendungen auf einer beliebigen Cloud-Plattform zu jeder Zeit
  • IT-Infrastruktur nach Bedarf vergrößern oder verkleinern
  • Weniger IT-Ressourcen für die Entwicklung und das Hosting von Anwendungen benötigen
  • Effizientere und effektivere Nutzung und Wiederverwendung verfügbarer IT-Ressourcen

Diese Vorteile veranlassen viele Unternehmen dazu, diese Technologien als die Zukunft der IT zu betrachten. Unter ihnen erwarten Unternehmen insbesondere den Einsatz von Kubernetes, um containerisierte Arbeitslasten und Dienste über mehrere Cloud-Umgebungen hinweg zu koordinieren und zu orchestrieren.

Eine Umfrage der Cloud Native Computing Foundation vom Juni 2020 ergab, dass 78 Prozent ihrer Mitglieder Kubernetes bereits in irgendeiner Form nutzen. Eine weitere Umfrage ergab, dass 64 Prozent der IT-Experten in Unternehmen Kubernetes bereits vor Ort eingesetzt haben.2

Die Website Google Cloud bietet vielleicht den besten Einblick, wie weit verbreitet Kubernetes in Unternehmen werden könnte. Google führt bereits alle seine Anwendungen auf Containern innerhalb seiner Cloud aus und startet jede Woche Milliarden von Containern. Es verwendet Kubernetes für die Bereitstellung, die Verwaltung, den Betrieb und die Orchestrierung der Bereitstellung von containerisierten Anwendungen innerhalb seiner Cloud.

Um diese Vision Wirklichkeit werden zu lassen, müssen Unternehmen eine Infrastruktur einrichten, die diese containerisierten Anwendungen und ihre Daten schützt. Als Teil dieser neuen Infrastruktur benötigen viele Unternehmen eine Backup-Lösung, bevor sie Kubernetes formell einführen. Im Idealfall möchten sie dieselbe Software verwenden, um sowohl ihre bestehende virtuelle Umgebung als auch ihre neue Kubernetes-Umgebung zu sichern.

 

Gemeinsamkeiten bei den Merkmalen der Datensicherung

Container und virtuelle Maschinen (VMs) haben mehrere Eigenschaften gemeinsam, die es Unternehmen ermöglichen, eine einzige Lösung zum Schutz beider zu verwenden.

Drei Merkmale sind dabei besonders hervorzuheben:

  • Container und VMs sind beide virtuell. Sowohl Container als auch VMs arbeiten unabhängig von der Plattform, auf der sie gehostet werden. Angemessen konzipierte Backup-Software kann sowohl Container als auch VMs als Objekte behandeln und schützen.
  • Verfügbare APIs. Die zugrunde liegenden Kubernetes- und Hypervisor-Plattformen, die Container und VMs hosten, bieten APIs. Die Sicherungssoftware interagiert mit diesen APIs, um Aufgaben wie die Erstellung von Snapshots einzelner Container oder VMs auszuführen.
  • Daten sind Daten. Ob Unternehmen ihre Daten in Containern oder VMs hosten, Daten sind immer noch Daten. Backup-Software speichert und verwaltet alle Backup-Daten im Wesentlichen auf die gleiche Weise, unabhängig von ihrer Herkunft.

Trotz dieser und anderer Ähnlichkeiten muss die Backup-Software Container-Backups und -Wiederherstellungen anders verwalten als VM-Backups.

 

Die fünf Herausforderungen der Kubernetes-Sicherung

Backup-Software muss fünf spezifische Herausforderungen bewältigen, die durch die Sicherung und Wiederherstellung von Containern in Kubernetes entstehen.

1. Kurzzeitige Speicherung

Die Bereitstellung von containerisierten Anwendungen in Kubernetes unterscheidet sich in einem wesentlichen Punkt von der Bereitstellung von Anwendungen auf VMs. Wenn eine Anwendung oder ihre Hosting-VM heruntergefahren wird, bleiben die Daten der Anwendung und der Speicher der VM erhalten. Auf diese Weise kann die Anwendung innerhalb der VM oder die VM beim nächsten Start auf die ihr zugewiesenen Daten oder den Speicher zugreifen.

Kubernetes geht anders mit den Daten- und Speicherressourcen um, die mit containerisierten Anwendungen und ihren Pods verbunden sind. Sobald eine Anwendung oder ein Pod heruntergefahren wird, holt sich Kubernetes automatisch die zugewiesenen Ressourcen zurück, einschließlich des Speichers. Nach der Rückgewinnung sind die mit dieser Anwendung oder diesem Pod verbundenen Daten praktisch "verloren".

Dies stellt aus Sicht der Datensicherung eine doppelte Herausforderung dar.

Zunächst muss die Sicherungssoftware von der Existenz der containerisierten Anwendung erfahren.

Zweitens können containerisierte Anwendungen nur für eine kurze Zeit existieren. Daher kann man keine täglichen Backups planen und erwarten, dass sie die Daten dieser Anwendungen schützen. Backups müssen während der Zeit, in der die containerisierte Anwendung existiert, erfolgen.

2. Unvorhersehbarkeit

Die Flexibilität, die Kubernetes bietet, um Container überall und jederzeit auf fast jeder Cloud zu starten, macht es für Unternehmen noch attraktiver. Die gleiche Flexibilität führt jedoch auch zu einem Grad an Unvorhersehbarkeit und Komplexität, der weit über den von Umgebungen mit VMs hinausgehen kann.

Eine Backup-Lösung muss mehrere Aufgaben erfüllen, um diese Umgebung zu sichern. Zunächst muss sie die Herausforderungen bewältigen, die mit containerisierten Anwendungen und ihrer ephemeren Speicherung verbunden sind. Sie muss auch bestimmen, ob sie jede containerisierte Anwendung sichern muss, da nicht alle Container Backups benötigen.

Wenn die containerisierte Anwendung gesichert werden muss, muss die entsprechende Richtlinie zur Sicherung verwendet werden. Die Richtlinie bestimmt, wie oft die Lösung ein Backup der Anwendung durchführen muss. Ein Backup kann einmalig erfolgen, beispielsweise kurz vor dem Herunterfahren der containerisierten Anwendung. Alternativ können Backups auch mehrmals während der Lebensdauer der containerisierten Anwendung durchgeführt werden.

3. Skalierbarkeit der Backup-Lösung
Kubernetes ermöglicht das Starten und Herunterfahren von Tausenden, Millionen und vielleicht Milliarden von containerisierten Anwendungen pro Woche oder Monat.

Die Backup-Lösung muss über ausreichende Ressourcen verfügen, um alle containerisierten Anwendungen zu erkennen, die Backup-Aufträge zu planen und sie zu verwalten. Die Lösung muss auch über ausreichende Ressourcen verfügen, um Backend-Backup-Daten zu verwalten und Wiederherstellungen durchzuführen.

Durch den Einsatz von Kubernetes in Cloud-Infrastrukturen werden die Herausforderungen bei der Datensicherung noch verschärft. Die Anzahl der aktiven containerisierten Anwendungen kann sich ohne Vorwarnung drastisch erhöhen oder verringern.

Um auf diese Umgebung zu reagieren und sie zu verwalten, muss sich die Backup-Lösung automatisch und kosteneffizient an sie anpassen. Wenn containerisierte Anwendungen gestartet werden, muss die Backup-Lösung dynamisch hochskaliert werden. Ebenso muss die Backup-Lösung dynamisch herunter skaliert werden, wenn Container offline gehen.

4. Breite Palette an Kubernetes-Backup-Funktionen

Die Wahl einer Backup-Lösung für ein Unternehmen hängt zum Teil von der Reife seiner Kubernetes-Bereitstellung ab. In einer stabilen, ausgereiften Kubernetes-Umgebung schreibt ein Unternehmen häufig Skripte, die die Bereitstellung der Kubernetes-Kernkomponenten automatisieren. In diesen Umgebungen kann ein Unternehmen nur seine in der Kubernetes-Umgebung gehosteten containerisierten Anwendungen sichern.

Im Gegensatz dazu kann ein Unternehmen, das Kubernetes erst vor kurzem eingeführt hat, andere Herausforderungen bei der Datensicherung haben. Möglicherweise hat es den Aufbau seiner Kubernetes-Umgebung noch nicht abgeschlossen. Wenn dies jedoch der Fall ist, stellt sich das Unternehmen möglicherweise die Frage, ob seine aktuelle Kubernetes-Infrastruktur diejenige ist, die es in Zukunft haben möchte.

In beiden Fällen hat ein Unternehmen wahrscheinlich noch keine Skripte erstellt, um seinen Kubernetes-Kontrollplatz neu zu erstellen. Infolgedessen benötigt es eine Lösung mit einer größeren Bandbreite an Backup-Funktionen. Die Lösung muss sowohl die Kubernetes-Kontrollebene als auch die containerisierten Anwendungen und Daten sichern.

5. Wiederherstellung

Während die Sicherung von containerisierten Anwendungen eine Herausforderung darstellt, ist die Wiederherstellung von containerisierten Anwendungen eine noch größere Herausforderung. Um eine Wiederherstellung durchzuführen, muss die Backup-Software zunächst jedes Backup mit einer bestimmten Anwendung, einem Benutzer oder einer anderen Umgebungskonstante verknüpfen.

Sollte ein Unternehmen eine Wiederherstellung durchführen müssen, muss es über ein Mittel verfügen, um festzustellen, welches Backup wiederhergestellt werden soll. Die zeitliche Natur von containerisierten Anwendungen in Kubernetes-Umgebungen erfordert zuverlässige Verfahren zur Einleitung der Wiederherstellung.

Im Rahmen der Wiederherstellung muss ein Unternehmen auch den Umfang der Wiederherstellung in der Kubernetes-Umgebung bestimmen. Möglicherweise muss die Software nur eine einzige containerisierte Anwendung wiederherstellen. Es können jedoch Abhängigkeiten zwischen mehreren Containern bestehen, was häufig auch der Fall ist. Dies kann die gleichzeitige Wiederherstellung mehrerer Container erforderlich machen.

Das Ausmaß des Datenverlusts hat auch Einfluss darauf, welche Kubernetes-Komponenten die Sicherungssoftware wiederherstellen muss. Sollte eine Kubernetes-Bereitstellung beeinträchtigt werden, muss die Backup-Software möglicherweise auch die Kubernetes-Kontrollebene wiederherstellen.

Unternehmen sollten auch die neuen Anforderungen für die Wiederherstellung von containerisierten Anwendungen in anderen Kubernetes-Bereitstellungen berücksichtigen. Immer mehr Unternehmen nutzen hybride Clouds mit unterschiedlichen Kubernetes-Versionen, die in jeder Cloud ausgeführt werden. Bei der Durchführung von Wiederherstellungen möchten sie Anwendungen möglicherweise in einer anderen Cloud wiederherstellen als der, in der sie ursprünglich gesichert wurden.

Die in verschiedenen Clouds verwendeten Kubernetes-Bereitstellungen weisen viele Ähnlichkeiten auf. Es gibt jedoch auch Unterschiede. Es muss sichergestellt werden, dass die Backup-Lösung die Kubernetes-Bereitstellung in jeder Cloud unterstützt, in der sie wiederhergestellt werden muss.

 

Herausforderungen bei der Kubernetes-Sicherung

Um diese fünf Herausforderungen im Zusammenhang mit der Sicherung von Kubernetes-Umgebungen zu meistern, müssen Unternehmen ihre Backups anders verwalten. Diese Änderung der Backup-Verwaltung beginnt damit, wie Unternehmen containerisierte Anwendungen in Kubernetes bereitstellen.

Effektive Nutzung von Container-Labels
Alle containerisierten Anwendungen können optional Metadaten besitzen, die Labels enthalten. Die Verwendung dieser Labels ist zwingend erforderlich, um diese containerisierten Anwendungen in Kubernetes zu sichern.

Jedes Mal, wenn eine containerisierte Anwendung startet, muss sie sich beim Kubernetes-Knotendienst registrieren.

Bei der Registrierung kommt es zu drei Ereignissen.

  • Zunächst liest der Kubernetes-Knotendienst die bereits vorhandenen Metadaten-Labels des Containers.
  • Zweitens fügt Kubernetes Schlüssel-Wert-Paare zu den Container-Labels hinzu.
  • Drittens helfen diese Schlüsselwerte dabei, zu erkennen, welche Anwendungsressourcen zusammengehören, da sie sich gegenseitig zum Betrieb benötigen können.

Container-Etiketten wirkungsvoll einsetzen

Eine Backup-Lösung muss sich diese Funktionen zunutze machen. Sie überwacht die Starts von Kubernetes-Containern und den Inhalt ihrer Metadaten. Während des Containerstarts wird geprüft, ob die Container-Labels irgendwelche Schlüssel-Wert-Paare enthalten, die von der Backup-Lösung geschützt werden müssen.

Die Backup-Software verwendet die Metadaten jedes Containers, um zu bestimmen, ob, wann und wie die containerisierten Anwendungen gesichert und wiederhergestellt werden müssen. Sie erstellt und weist die entsprechenden Backup-Richtlinien zu, die den Wiederherstellungsanforderungen entsprechen. Die Backups erfolgen dann synchron für alle containerisierten Anwendungen, die in der Produktion aufeinander angewiesen sind. Auf diese Weise werden konsistente Wiederherstellungen gewährleistet.

Um dieses Ziel zu erreichen, kann die Backup-Lösung einen oder mehrere Backup-Jobs in kube-scheduler planen. Der Backup-Job sichert dann diese containerisierten Anwendungen und die zugehörigen Anwendungen in den entsprechenden Intervallen. Er kann auch Backups bei bestimmten Ereignissen durchführen, z. B. beim Herunterfahren von Containern.

Konstanten zu Sicherungen zuordnen

Um eine containerisierte Anwendung erfolgreich wiederherstellen zu können, muss die Sicherungssoftware genau wissen, wann ein Anwendungs-Backup erfolgt. Zu diesem Zweck muss die Sicherungssoftware jeder Sicherung eine oder mehrere Umgebungskonstanten zuordnen. Auf diese Weise kann sie die richtige Sicherung für die Wiederherstellung ermitteln.

Die dem Backup zugewiesenen Umgebungskonstanten können einen Datums- und Zeitstempel sowie bestimmte Knoten-, Pod- und Container-Kennungen enthalten. Containerisierte Anwendungen müssen sich in einem Pod befinden, und Pods müssen einem Knoten zugeordnet sein. Diese Kombination von Variablen ermöglicht eine eindeutige Klassifizierung, wo und wann jedes Anwendungs-Backup stattgefunden hat.

Cloud-native Architektur

Die Skalierung zur Erfüllung der Backup-Anforderungen von Tausenden, Millionen oder Milliarden von containerisierten Anwendungen erfordert den Einsatz einer Cloud-nativen Architektur. Auf diese Weise kann eine Backup-Lösung effizient und kostengünstig dynamisch nach oben oder unten skaliert werden, um Anwendungen zu sichern.

 

HYCU: Eine Cloud-native Lösung für Kubernetes und VM-Backups

Kubernetes schafft einen neuen Standard, an dem Unternehmen ihre Backup-Lösungen messen müssen. Während einige Grundsätze für die Durchführung von Backups in virtualisierten Umgebungen auch für den Schutz von containerisierten Anwendungen gelten, gibt es neue Anforderungen an Backup und Recovery.

In Kubernetes-Umgebungen muss die Sicherungssoftware die folgenden Aufgaben dynamisch ausführen:

  • Erkennen Sie die Erstellung von containerisierten Anwendungen
  • Wenden Sie die richtige Backup-Richtlinie für jeden einzelnen an
  • Identifizieren Sie die Abhängigkeiten, die zwischen verschiedenen containerisierten Anwendungen bestehen können
  • Skalierung nach oben oder unten, um potenziell Millionen von verschiedenen Backup-Aktivitäten zu bewältigen

HYCU bietet Unternehmen die Möglichkeit, ihre Backup- und Wiederherstellungsanforderungen in einer Kubernetes-Umgebung zu erfüllen.

HYCU basiert auf einer Cloud-nativen Architektur und skaliert automatisch und dynamisch nach oben und unten, um den sich ändernden Kubernetes-Backup-Workloads gerecht zu werden.

Durch die Interaktion mit Kubernetes schützt es sowohl die Kubernetes-Kontrollebene als auch containerisierte Anwendungen. Um Anwendungen zu schützen, liest HYCU bereits vorhandene Metadaten-Labels für Anwendungen. HYCU weist dann jeder containerisierten Anwendung auf der Grundlage ihrer Kennzeichnungen programmatisch die entsprechenden Sicherungsrichtlinien zu.

HYCU bietet auch Wiederherstellungsvalidierungsdienste zur Unterstützung der Wiederherstellung von in Kubernetes gehosteten Anwendungen in anderen Clouds. Es unterstützt bereits Google Kubernetes Engine (GKE) und wird in Kürze auch andere Kubernetes-Cloud-Dienste unterstützen. Die HYCU-Plattform bietet eine einheitliche Benutzererfahrung für die Verwaltung der Datensicherung auf Google Compute Engine (GCE), Google Cloud Storage und GKE. Unternehmen können den GKE-Anwendungen dieselben Richtlinien zuweisen, die sie bereits zum Schutz der GCE-Instanzen und der darauf laufenden Anwendungen verwenden.

HYCU wird als Service bereitgestellt und bietet Unternehmen eine einzige Lösung zum Schutz ihrer containerisierten und virtuellen Anwendungen. Die Verwaltungskonsole verwaltet sowohl Kubernetes als auch virtuelle Umgebungen. Damit können Unternehmen Backups zentral planen und durchführen,
archivieren und Sicherungskopien kopieren, Sicherungsrichtlinien zuweisen und Wiederherstellungen durchführen.

Durch die Einführung von HYCU können Unternehmen weiterhin die sich entwickelnden Backup-Anforderungen ihrer bestehenden virtualisierten Umgebung erfüllen.

Mit HYCU sind sie gleichzeitig in der Lage, ihre aufkommenden Kubernetes-Backup-Anforderungen zu erfüllen. Auf diese Weise bietet HYCU eine großartige Option für Unternehmen, um auf Kubernetes umzusteigen und gleichzeitig die Integrität ihrer Daten in beiden Umgebungen zu gewährleisten.

 

Über DCIG

Die Data Center Intelligence Group (DCIG) unterstützt die IT-Branche mit umsetzbaren Analysen. Die DCIG-Analysten bieten fundierte Analysen von Drittanbietern zu verschiedenen Cloud-, Datenschutz- und Datenspeichertechnologien. DCIG entwickelt unabhängig lizenzierte Inhalte in Form von TOP 5-Berichten und Lösungsprofilen.
Weitere Informationen finden Sie unter www.dcig.com.

Shive Raja Kopfsprung

SVP von Produkt

Subbiah Sundaram ist der SVP, Produkt bei HYCU. Subbiah Sundaram leitet die Bereiche Produktmanagement, Produktmarketing, Allianzen, Vertriebstechnik und Kundenerfolg und verfügt über mehr als 20 Jahre Erfahrung in der Bereitstellung von erstklassigen Multi-Cloud-Datenschutz- und On-Premises-Lösungen. Als Absolvent der Kellogg Management School MBA hat Subbiah mit führenden Unternehmen wie EMC, NetApp, Veritas, BMC, CA und DataGravity zusammengearbeitet.

Erleben Sie die SaaS-Datenschutzplattform Nr. 1

Testen Sie HYCU selbst und werden Sie überzeugt.