Sichern von Azure Kubernetes Service mithilfe von Azure Backup
In diesem Artikel erfahren Sie, wie Sie Azure Kubernetes Service (AKS) konfigurieren und sichern.
Mit Azure Backup können Sie AKS-Cluster (Clusterressourcen und an den Cluster angefügte persistente Volumes) mithilfe der Backup-Erweiterung sichern, die im Cluster installiert werden muss. Der Backup-Tresor kommuniziert über diese Backup-Erweiterung mit dem Cluster, um Sicherungs- und Wiederherstellungsvorgänge auszuführen.
Hinweis
Tresorsicherung und regionsübergreifende Wiederherstellung für AKS mit Azure Backup befinden sich derzeit in der Vorschau.
Vorbereitung
Derzeit unterstützt die AKS-Sicherung nur Azure Disk Storage-basierte persistente Volumes (aktiviert durch den CSI-Treiber). Die Sicherungen werden nur in einem operativen Datenspeicher gespeichert (die Sicherungsdaten werden in Ihrem Mandanten gespeichert und nicht in einen Tresor verschoben). Der Backup-Tresor und der AKS-Cluster müssen sich in derselben Region befinden.
Die AKS-Sicherung verwendet einen Blobcontainer und eine Ressourcengruppe, um die Sicherungen zu speichern. Der Blobcontainer enthält die AKS-Clusterressourcen. Momentaufnahmen persistenter Volumes werden in der Ressourcengruppe gespeichert. Der AKS-Cluster und die Speicherorte müssen sich in derselben Region befinden. Erfahren Sie, wie Sie einen Blobcontainer erstellen.
Derzeit unterstützt die AKS-Sicherung das Anlegen von Sicherungen einmal pro Tag. Darüber hinaus werden häufigere Sicherungen (in Intervallen von 4, 8 und 12 Stunden) pro Tag unterstützt. Mit dieser Lösung können Sie Ihre Daten bis zu 360 Tage lang für die Wiederherstellung aufbewahren. Erfahren Sie mehr über das Erstellen einer Sicherungsrichtlinie.
Sie müssen die Backup-Erweiterung installieren, um Sicherungs- und Wiederherstellungsvorgänge für einen AKS-Cluster zu konfigurieren. Weitere Informationen finden Sie unter Backup-Erweiterung.
Stellen Sie sicher, dass
Microsoft.KubernetesConfiguration
,Microsoft.DataProtection
undMicrosoft.ContainerService
für Ihr Abonnement registriert sind, bevor Sie die Sicherungskonfigurations- und Wiederherstellungsvorgänge initiieren.Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie einen Sicherungs- oder Wiederherstellungsvorgang für die AKS-Sicherung initiieren.
Weitere Informationen zu den unterstützten Szenarien sowie zu Einschränkungen und zur Verfügbarkeit finden Sie in der Supportmatrix.
Erstellen eines Sicherungstresors
Ein Sicherungstresor ist eine Verwaltungseinheit, die im Laufe der Zeit behandelte Wiederherstellungspunkte speichert. Ein Sicherungstresor bietet auch eine Schnittstelle für die Durchführung von Sicherungsvorgängen. Zu diesen Vorgängen gehören die Durchführung von bedarfsgesteuerten Sicherungen, die Durchführung von Wiederherstellungen und die Erstellung von Sicherungsrichtlinien. Für die AKS-Sicherung müssen sich der Sicherungstresor und der AKS-Cluster in derselben Region befinden. Erfahren Sie, wie Sie einen Sicherungstresor erstellen.
Hinweis
Ein Sicherungstresor ist eine neue Ressource, die für die Sicherung von neu unterstützten Datenquellen verwendet wird. Ein Backup-Tresor unterscheidet sich von einem Recovery Services-Tresor.
Wenn Sie Azure Backup verwenden möchten, um Ihre AKS-Cluster vor regionalen Ausfällen zu schützen:
Legen Sie bei der Erstellung des Tresors den Parameter Redundanz des Sicherungsspeichers auf Global-Redundant fest. Sobald die Redundanz für einen Tresor eingestellt ist, können Sie sie nicht mehr deaktivieren.
Wählen Sie für den Parameter Regionsübergreifende Wiederherstellung unter Tresoreigenschaften die Option Aktiviert. Sobald dieser Parameter aktiviert ist, können Sie ihn nicht mehr deaktivieren.
Erstellen Sie eine Backup-Instanz mithilfe einer Backup-Richtlinie mit einer für den Tresor-Standarddatenspeicher festgelegten Aufbewahrungsdauer. Jeder in diesem Datenspeicher gespeicherte Wiederherstellungspunkt befindet sich in der sekundären Region.
Hinweis
Der Tresor-Standarddatenspeicher befindet sich derzeit in der Vorschau.
Erstellen einer Sicherungsrichtlinie
Bevor Sie Sicherungen konfigurieren, müssen Sie eine Sicherungsrichtlinie erstellen, die die Häufigkeit der Sicherungen und ihre Aufbewahrungsdauer definiert.
Sie können auch eine Sicherungsrichtlinie erstellen, wenn Sie die Sicherung konfigurieren.
So erstellen Sie eine Sicherungsrichtlinie
Wechseln Sie zu Backup Center, und wählen Sie Richtlinie aus, um eine neue Sicherungsrichtlinie zu erstellen.
Wechseln Sie alternativ zu Backup Center>Sicherungsrichtlinien>Hinzufügen.
Wählen Sie unter Datenquellentyp die Option Kubernetes Service aus, und fahren Sie dann fort.
Geben Sie einen Namen für die Sicherungsrichtlinie ein (z. B. Standardrichtlinie), und wählen Sie den Backup-Tresor (den neuen Backup-Tresor, den Sie erstellt haben) aus, in dem die Sicherungsrichtlinie erstellt werden muss.
Definieren Sie auf der Registerkarte Zeitplan + Aufbewahrung die Häufigkeit der Sicherungen und die Dauer der Aufbewahrung auf Betriebs- und Tresorebene (auch Datenspeicher genannt).
Häufigkeit der Sicherungen: Wählen Sie die Häufigkeit der Sicherungen (stündlich oder täglich) und dann die Aufbewahrungsdauer für die Sicherungen aus.
Aufbewahrungseinstellung: Eine neue Sicherungsrichtlinie hat zwei Aufbewahrungsregeln.
Sie können auch zusätzliche Aufbewahrungsregeln erstellen, um Sicherungen, die täglich oder wöchentlich erstellt werden, länger zu speichern.
Standard: Diese Regel definiert die Standardaufbewahrungsdauer für alle Sicherungen auf Betriebsebene. Sie können diese Regel nur bearbeiten, aber nicht löschen.
Erste erfolgreiche Sicherung pro Tag: Zusätzlich zur Standardregel kann jede erste erfolgreiche Sicherung des Tages im Betriebsdatenspeicher und im Tresorstandardspeicher gespeichert werden. Sie können diese Regel bearbeiten und löschen (wenn Sie die Sicherungen im Betriebsdatenspeicher aufbewahren möchten).
Sie können auch ähnliche Regeln für das erste erfolgreiche Backup pro Woche, Monat und Jahr festlegen.
Hinweis
- Neben der ersten erfolgreichen Sicherung des Tages können Sie auch die Aufbewahrungsregeln für die erste erfolgreiche Sicherung der Woche, des Monats und des Jahres festlegen. Die Reihenfolge der Priorität wäre: Jahr, Monat, Woche und Tag.
- Der Tresor-Standarddatenspeicher befindet sich derzeit in der Vorschau. Wenn Sie das Feature nicht verwenden möchten, bearbeiten Sie die Aufbewahrungsregel, und deaktivieren Sie das Kontrollkästchen neben Tresor-Standarddatenspeicher.
- Die in der Tresorebene gespeicherten Sicherungen können auch in die sekundäre Region (mit Azure gekoppelte Region) kopiert werden, die Sie zur Wiederherstellung von AKS-Clustern in einer sekundären Region verwenden können, wenn die primäre Region nicht verfügbar ist. Um dieses Feature zu aktivieren, verwenden Sie einen georedundanten Tresor mit aktivierter regionsübergreifender Wiederherstellung.
Wenn Sie die Einstellungen für die Sicherungshäufigkeit und die Aufbewahrungsdauer konfiguriert haben, wählen Sie Weiter aus.
Überprüfen Sie die Informationen auf der Registerkarte Überprüfen und erstellen, und wählen Sie dann Erstellen aus.
Konfigurieren von Sicherungen
Mit der AKS-Sicherung können Sie einen gesamten Cluster oder bestimmte Clusterressourcen sichern, die im Cluster bereitgestellt werden. Sie können einen Cluster entsprechend des bereitgestellten Anwendungszeitplans und der Aufbewahrungsanforderungen oder der Sicherheitsanforderungen auch mehrfach schützen.
Hinweis
So richten Sie mehrere Sicherungsinstanzen für denselben AKS-Cluster ein
- Konfigurieren Sie die Sicherung im gleichen Backup-Tresor, verwenden Sie dabei aber eine andere Sicherungsrichtlinie.
- Konfigurieren Sie die Sicherung in einem anderen Backup-Tresor.
So konfigurieren Sie Sicherungen für AKS-Cluster
Navigieren Sie im Azure-Portal zu dem AKS-Cluster, für den Sie ein Backup erstellen möchten.
Wählen Sie im Ressourcenmenü Backup und dann Backup konfigurieren aus.
Um den AKS-Cluster für die Sicherung oder Wiederherstellung vorzubereiten, wählen Sie Erweiterung installieren aus, um die Backup-Erweiterung im Cluster zu installieren.
Geben Sie ein Speicherkonto und einen Blobcontainer als Eingabe an.
Ihre AKS-Clustersicherungen werden in diesem Blobcontainer gespeichert. Das Speicherkonto muss sich in derselben Region und demselben Abonnement wie der Cluster befinden.
Wählen Sie Weiter aus.
Überprüfen Sie die Details zur Erweiterungsinstallation, und wählen Sie dann Erstellen aus.
Die Installation der Erweiterung wird gestartet.
Wenn die Backup-Erweiterung erfolgreich installiert wurde, wählen Sie Sicherung konfigurieren aus, um mit der Konfiguration von Sicherungen für Ihren AKS-Cluster zu beginnen.
Sie können diese Aktion auch im Backup Center ausführen.
Wählen Sie den Backup-Tresor aus.
Für den Sicherungstresor muss Vertrauenswürdiger Zugriff aktiviert sein, damit der AKS-Cluster gesichert werden kann. Wählen Sie zum Aktivieren des vertrauenswürdigen Zugriffs Berechtigung erteilen aus. Wenn er bereits aktiviert ist, wählen Sie Weiter aus.
Hinweis
- Wenn die Backup-Erweiterung im AKS-Cluster nicht installiert ist, können Sie die Installation während der Konfiguration der Sicherung für den Cluster ausführen.
Wählen Sie die Sicherungsrichtlinie aus, die den Zeitplan für Sicherungen und deren Aufbewahrungsdauer definiert. Wählen Sie Weiteraus.
Wählen Sie auf der Registerkarte Datenquellen die Option Hinzufügen/Bearbeiten aus, um die Konfiguration der Sicherungsinstanz zu definieren.
Definieren Sie im Bereich Zu sichernde Ressourcen auswählen die Clusterressourcen, für die ein Backup erstellt werden soll.
Erfahren Sie mehr über Sicherungskonfigurationen.
Wählen Sie für Momentaufnahme-Ressourcengruppe die Ressourcengruppe aus, die zum Speichern der Momentaufnahmen des persistenten Volumes (Azure Disk Storage) verwendet werden soll. Wählen Sie anschließend Überprüfen aus.
Wenn die Überprüfung abgeschlossen ist und dem Tresor in der Momentaufnahme-Ressourcengruppe keine entsprechenden Rollen zugewiesen sind, wird ein Fehler angezeigt:
Um den Fehler zu beheben, wählen Sie unter Name der Datenquelle die Datenquelle und dann Fehlende Rollen zuweisen aus.
Der folgende Screenshot zeigt die Liste der Rollen, die Sie auswählen können:
Wenn die Rollenzuweisung abgeschlossen ist, wählen Sie Weiter aus.
Wählen Sie Sicherung konfigurieren aus.
Wenn die Konfiguration abgeschlossen ist, wählen Sie Weiter aus.
Die Sicherungsinstanz wird erstellt, wenn die Sicherungskonfiguration abgeschlossen ist.
Sicherungskonfigurationen
Mit Azure Backup für AKS können Sie die Anwendungsgrenze innerhalb eines AKS-Clusters definieren, den Sie sichern möchten. Sie können die innerhalb der Sicherungskonfiguration verfügbaren Filter verwenden, um die zu sichernden Ressourcen auszuwählen und um benutzerdefinierte Hooks auszuführen. Auf die definierte Sicherungskonfiguration wird über den Wert für Name der Sicherungsinstanz verwiesen. Folgende Filter sind verfügbar, um Ihre Anwendungsgrenze zu definieren:
Unter Zu sichernde Namespaces auswählen können Sie entweder Alle auswählen, um alle bereits vorhandenen und zukünftigen Namespaces im Cluster zu sichern, oder mithilfe der Option Aus Liste auswählen bestimmte Namespaces für die Sicherung auswählen. Die folgenden Namespaces werden von der Sicherungskonfiguration übersprungen und nicht für Sicherungen konfiguriert: kube-system, kube-node-lease, kube-public.
Erweitern Sie die Option Zusätzliche Ressourceneinstellungen, um Filter anzuzeigen, mit deren Hilfe Sie Clusterressourcen auswählen können, für die ein Backup erstellt werden soll. Sie können ein Backup für Ressourcen basierend auf folgenden Kategorien auswählen:
- Bezeichnungen: Sie können AKS-Ressourcen filtern, indem Sie Bezeichnungen verwenden, die Sie bestimmten Ressourcentypen zuweisen. Geben Sie Beschriftungen in Form von Schlüssel-Wert-Paaren ein. Sie können mehrere Bezeichnungen mithilfe der
AND
-Logik kombinieren.
Wenn Sie beispielsweise die Bezeichnungen
env=prod;tier!=web
eingeben, wählt der Prozess Ressourcen aus, die über ein Label mit dem Schlüsselenv
und dem Wertprod
sowie über eine Bezeichnung mit dem Schlüsseltier
, für die der Wert nichtweb
ist, verfügen.API-Gruppen: Sie können Ressourcen auch auswählen, indem Sie die AKS-API-Gruppe und den Typ angeben. Sie können beispielsweise für Backup-AKS-Ressourcen wie Bereitstellungen auswählen. Die Liste der von Kubernetes definierten API-Gruppen finden Sie hier.
Weitere Optionen: Sie können Backups für Ressourcen im Cluster, persistente Volumes und Geheimnisse aktivieren oder deaktivieren. Standardmäßig sind clusterspezifische Ressourcen und persistente Volumes aktiviert.
Hinweis
Alle diese Ressourceneinstellungen werden kombiniert und mithilfe der
AND
-Logik angewendet.- Bezeichnungen: Sie können AKS-Ressourcen filtern, indem Sie Bezeichnungen verwenden, die Sie bestimmten Ressourcentypen zuweisen. Geben Sie Beschriftungen in Form von Schlüssel-Wert-Paaren ein. Sie können mehrere Bezeichnungen mithilfe der
Hinweis
Sie sollten die Bezeichnungen jeder einzelnen YAML-Datei hinzufügen, die bereitgestellt und gesichert werden soll. Dies umfasst sowohl Namespace-bezogene Ressourcen wie Ansprüche für persistentes Volume als auch clusterbezogene Ressourcen wie persistente Volumes.
Verwenden von Hooks während der AKS-Sicherung
In diesem Abschnitt wird beschrieben, wie Sie mithilfe eines Sicherungs-Hooks eine anwendungskonsistente Momentaufnahme des AKS-Clusters erstellen, wobei MySQL bereitgestellt wird (persistentes Volume mit der MySQL-Instanz).
Sie können benutzerdefinierte Hooks in der AKS-Sicherung verwenden, um anwendungskonsistente Momentaufnahmen von Volumes zu erzielen. Die Volumes werden für Datenbanken verwendet, die als containerisierte Workloads bereitgestellt werden.
Mithilfe eines Sicherungs-Hooks können Sie die Befehle zum Fixieren und Aufheben der Fixierung eines MySQL-Pods definieren, sodass eine Anwendungsmomentaufnahme des Volumes erstellt werden kann. Die Backup-Erweiterung koordiniert dann die Schritte zum Ausführen der Befehle in den Hooks und erstellt die Volumemomentaufnahme.
Eine mit MySQL bereitgestellte anwendungskonsistente Momentaufnahme eines Volumes wird durch die folgenden Aktionen erstellt:
- Der Pod, in dem MySQL ausgeführt wird, wird gesperrt, sodass keine neue Transaktion für die Datenbank ausgeführt wird.
- Es wird eine Momentaufnahme des Volumes als Sicherung erstellt.
- Der Pod, in dem MySQL ausgeführt wird, wird entsperrt, sodass Transaktionen wieder in der Datenbank ausgeführt werden können.
So aktivieren Sie einen Sicherungs-Hook als Teil des Sicherungskonfigurations-Flows zur Sicherung von MySQL:
Schreiben Sie die benutzerdefinierte Ressource für Sicherungs-Hooks mit Befehlen zum Fixieren und Aufheben der Fixierung eines PostgreSQL-Pods.
Sie können auch das folgende YAML-Beispielskript postgresbackuphook.yaml verwenden, das vordefinierte Befehle enthält:
apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1 kind: BackupHook metadata: # BackupHook CR Name and Namespace name: bkphookname0 namespace: default spec: # BackupHook Name. This is the name of the hook that will be executed during backup. # compulsory name: hook1 # Namespaces where this hook will be executed. includedNamespaces: - hrweb excludedNamespaces: labelSelector: # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item. preHooks: - exec: command: - /sbin/fsfreeze - --freeze - /var/lib/postgresql/data container: webcontainer onError: Continue # PostHooks is a list of BackupResourceHooks to execute after backing up an item. postHooks: - exec: container: webcontainer command: - /sbin/fsfreeze - --unfreeze onError: Fail timeout: 10s
Bevor Sie eine Sicherung konfigurieren, müssen Sie die benutzerdefinierte Ressource für den Sicherungs-Hook im AKS-Cluster bereitstellen.
Führen Sie zum Bereitstellen des Skripts den folgenden -Befehl aus:
kubectl apply -f mysqlbackuphook.yaml
Nach Abschluss der Bereitstellung können Sie die Sicherung für den AKS-Cluster konfigurieren.