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.

Voraussetzungen

  • Derzeit unterstützt die AKS-Sicherung nur Azure Disk Storage-basierte persistente Volumes, die auf einem CSI-Treiber basieren. 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 und Microsoft.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, können Sie die regionsübergreifende Wiederherstellung aktivieren. Zum Aktivieren der regionsübergreifenden Wiederherstellung führen Sie die folgenden Schritte aus:

  1. Legen Sie bei der Erstellung des Tresors den Parameter Redundanz des Sicherungsspeichers auf Georedundant fest. Sobald die Redundanz für einen Tresor eingestellt ist, können Sie sie nicht mehr deaktivieren.

    Screenshot zeigt, wie der Parameter

  2. 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.

    Screenshot zeigt, wie der Parameter

  3. 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.

Erstellen einer Sicherungsrichtlinie

Bevor Sie Sicherungen konfigurieren, müssen Sie eine Sicherungsrichtlinie erstellen, die die Häufigkeit der Sicherungen und ihre Aufbewahrungsdauer definiert.

So erstellen Sie eine Sicherungsrichtlinie

  1. Wechseln Sie zum von Ihnen erstellten Sicherungstresor, und wählen Sie Verwalten>Sicherungsrichtlinien>Hinzufügen aus.

  2. Geben Sie einen Namen für die Sicherungsrichtlinie ein.

  3. Wählen Sie unter Datenquellentyp die Option Kubernetes-Dienste aus.

  4. Definieren Sie auf der Registerkarte Zeitplan + Aufbewahrung den Sicherungszeitplan.

    • 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: Für eine neue Sicherungsrichtlinie ist standardmäßig die Standardregel definiert. Sie können diese Regel bearbeiten, aber nicht löschen. Die Standardregel definiert die Aufbewahrungsdauer für alle Sicherungen auf Betriebsebene. Sie können auch zusätzliche Aufbewahrungsregeln erstellen, um Sicherungen, die täglich oder wöchentlich erstellt werden, länger zu speichern.

    Screenshot: Aufbewahrungseinstellungen.

    Sie können auch zusätzliche Aufbewahrungsregeln erstellen, um Sicherungen, die täglich oder wöchentlich erstellt werden, länger aufzubewahren.

    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.
    • Sie können Sicherungen in der sekundären Region (mit Azure gekoppelte Region) kopieren, die auf Tresorebene gespeichert sind. Diese können Sie dann zur Wiederherstellung von AKS-Clustern in einer sekundären Region verwenden, wenn die primäre Region nicht verfügbar ist. Um dieses Feature zu aktivieren, verwenden Sie einen georedundanten Tresor mit aktivierter regionsübergreifender Wiederherstellung.
  5. Wenn Sie die Einstellungen für die Sicherungshäufigkeit und die Aufbewahrungsdauer konfiguriert haben, wählen Sie Weiter aus.

  6. Überprüfen Sie die Informationen auf der Registerkarte Überprüfen und erstellen, und wählen Sie dann Erstellen aus.

Installieren der Sicherungserweiterung und Konfigurieren der Sicherung

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.

Installieren der Sicherungserweiterung

So konfigurieren Sie Sicherungen für einen AKS-Cluster

  1. Navigieren Sie im Azure-Portal zu dem AKS-Cluster, für den Sie ein Backup erstellen möchten.

  2. Wählen Sie im Dienstmenü unter Einstellungen die Option Sicherung aus.

  3. 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.

  4. 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.

    Screenshot: Hinzufügen von Speicher- und Blobdetails für die Sicherung

  5. 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.

Konfigurieren der Sicherung

  1. Wenn die Sicherungserweiterung erfolgreich installiert wurde, wählen Sie Sicherung konfigurieren aus.

  2. Wählen Sie den Sicherungstresor aus, den Sie zuvor erstellt haben. 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.

  3. Wählen Sie auf der Registerkarte Sicherungsrichtlinie die Sicherungsrichtlinie aus, die den Zeitplan und den Aufbewahrungszeitraum für die Sicherungen definiert. Wählen Sie dann Weiter aus.

  4. Wählen Sie auf der Registerkarte Datenquellen die Option Hinzufügen/Bearbeiten aus, um die Konfiguration der Sicherungsinstanz zu definieren.

  5. Definieren Sie im Bereich Zu sichernde Ressourcen auswählen die Clusterressourcen, die Sie sichern möchten.

    Erfahren Sie mehr über Sicherungskonfigurationen.

  6. 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 dann Validieren aus.

    Wenn die Überprüfung abgeschlossen ist und dem Tresor in der Momentaufnahme-Ressourcengruppe keine entsprechenden Rollen zugewiesen sind, wird ein Fehler angezeigt:

    Screenshot: Überprüfungsfehler, wenn die erforderlichen Berechtigungen nicht zugewiesen sind

    Um den Fehler zu beheben, aktivieren Sie unter Name der Datenquelle das Kontrollkästchen für die Datenquelle, und wählen Sie dann Fehlende Rollen zuweisen aus.

  7. Wenn die Rollenzuweisung abgeschlossen ist, wählen Sie Weiter>Sicherung konfigurieren aus.

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:

  1. Wählen Sie Zu sichernde Namespaces aus. Sie können entweder Alle auswählen, um alle bereits vorhandenen und zukünftigen Namespaces im Cluster zu sichern, oder Sie können bestimmte Namespaces auswählen, die gesichert werden sollen.

    Die folgenden Namespaces werden bei Sicherungskonfigurationen übersprungen: kube-system, kube-node-lease und kube-public.

    Screenshot: Auswählen von Namespaces, die in die Sicherung eingeschlossen werden sollen

  2. 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üssel env und dem Wert prod sowie über eine Bezeichnung mit dem Schlüssel tier, für die der Wert nicht web 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

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:

  1. Der Pod, in dem MySQL ausgeführt wird, wird gesperrt, sodass keine neue Transaktion für die Datenbank ausgeführt wird.
  2. Es wird eine Momentaufnahme des Volumes als Sicherung erstellt.
  3. 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:

  1. 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
    
    
    
  2. 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
    
    
  3. Nach Abschluss der Bereitstellung können Sie Sicherungen für den AKS-Cluster konfigurieren.

    Hinweis

    Im Rahmen der Sicherungskonfiguration müssen Sie den benutzerdefinierten Ressourcennamen und den Namespace, in dem die Ressource bereitgestellt wird, als Eingabe bereitstellen.

Nächste Schritte