Detaillierte Wiederherstellung aktivieren

Auf dieser Seite wird beschrieben, wie Sie Ressourcen für die Wiederherstellung mit feinerer Granularität auswählen.

Übersicht

Mit der Funktion zur detaillierten Wiederherstellung können Sie eine Teilmenge von Ressourcen aus einer Sicherung wiederherstellen. Mit der Funktion zur detaillierten Wiederherstellung können Sie den im übergeordneten Wiederherstellungsplan definierten Wiederherstellungsbereich flexibel anpassen. Wenn sich der detaillierte Wiederherstellungsbereich nicht mit dem ursprünglichen Bereich überschneidet, der im übergeordneten Wiederherstellungsplan definiert ist, werden keine Ressourcen wiederhergestellt.

Die detaillierte Wiederherstellung kann für Wiederherstellungspläne mit Konfliktbehandlungsmodi auf Ressourcenebene aktiviert werden:

  • Zusammenführen und überspringen
  • Zusammenführen und ersetzen
  • Zusammenführen und Volume ersetzen

Wenn Ihre Wiederherstellungspläne Modi zur Konfliktverarbeitung auf Namespace- oder ProtectedApplication-Ebene verwenden, z. B. Bei Konflikt oder Rollback, und Sie eine detaillierte Wiederherstellung aktivieren möchten, müssen Sie Ihren Wiederherstellungsplan so aktualisieren, dass die unterstützten Modi verwendet werden, oder einen neuen Wiederherstellungsplan erstellen. Weitere Informationen zu den Wiederherstellungsmodi finden Sie unter Ressourcenkonflikte während der Wiederherstellung verarbeiten.

Wenn Sie die detaillierte Wiederherstellung verwenden möchten, können Sie unter Ein- und Ausschlussfiltern eine oder mehrere Filterbedingungen definieren. Sie können eine bestimmte Teilmenge von Ressourcen aus der Sicherung zur Wiederherstellung auswählen oder alle Ressourcen mit Ausnahme einer Teilmenge wiederherstellen. Sie können gleichzeitig Ein- und Ausschlussfilter definieren. Wenn Einschlussfilter verwendet werden, werden nur Ressourcen wiederhergestellt, die diesen Filtern entsprechen. Wenn Ausschlussfilter verwendet werden, werden übereinstimmende Ressourcen vom Wiederherstellungsprozess ausgeschlossen. Wenn sowohl Einschluss- als auch Ausschlussfilter angegeben sind, werden zuerst die Einschlussfilter und dann die Ausschlussfilter angewendet. Das bedeutet, dass Ausschlussfilter Vorrang vor Einschlussfiltern haben. Wenn keine Filter angegeben sind, wird die Wiederherstellung für den gesamten Bereich ausgeführt, der im übergeordneten Wiederherstellungsplan definiert ist.

Beim Erstellen einer Filterbedingung stehen vier optionale Attribute zur Verfügung:

  • GroupKind: Die Kubernetes API-Gruppe und -Art für die Ressource
  • Namespace: Der Namespace für Namespace-bezogene Ressourcen
  • Ressourcenname: Der Name der Ressource
  • Labels: Die Schlüssel/Wert-Paare zum Auswählen von Ressourcen basierend auf Kubernetes-Labels

Sie können eine Kombination der vier oben genannten Attribute verwenden, um eine Filterbedingung zu definieren. Wenn mehr als ein Attribut angegeben wird, werden die Beziehungen zwischen den Attributen als AND betrachtet. Eine Ressource wird ausgewählt, wenn sie mit allen Attributen übereinstimmt, die in der Filterbedingung definiert sind. Sie können auch mehrere Filterbedingungen gleichzeitig angeben. Die Beziehungen zwischen den verschiedenen Filterbedingungen sind OR. Eine Ressource wird ausgewählt, wenn sie einer Filterbedingung aller angegebenen Filter entspricht.

Hinweise

Planen Sie eine Reihe von Wiederherstellungen.

Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen

gcloud

  1. Erstellen Sie eine YAML- oder JSON-Datei mit detaillierten Filtern für die Wiederherstellung. Sie können das folgende YAML-Beispiel verwenden.

    exclusionFilters:
    - groupKind:
        resourceGroup: foo.io
        resourceKind: Bar
      name: name1
      namespace: ns1
    inclusionFilters:
    - labels:
        key1: value1
        key2: value2
    
  2. Erstellen Sie eine Wiederherstellung mit der von Ihnen erstellten Filterdatei für die detaillierte Wiederherstellung.

    gcloud beta container backup-restore restores create RESTORE \
        --project=PROJECT_ID \
        --location=LOCATION \
        --restore-plan=RESTORE_PLAN \
        --backup=BACKUP \
        --filter-file=FILTER_FILE
    

    Ersetzen Sie Folgendes:

    • RESTORE ist der Name der Wiederherstellung, die Sie erstellen möchten.
    • PROJECT_ID: die ID Ihres Google Cloud Projekts.
    • LOCATION ist die Computing-Region des übergeordneten Wiederherstellungsplans.
    • RESTORE_PLAN ist der Name des übergeordneten Wiederherstellungsplans, von dem diese Wiederherstellung abgeleitet wird.
    • BACKUP: wiederherzustellende Sicherung. Diese muss sich in dem Sicherungsplan befinden, auf den der übergeordnete Wiederherstellungsplan als projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP verweist.

    • FILTER_FILE: der Pfad zu Ihren detaillierten Wiederherstellungsfiltern.

    Eine vollständige Liste der Optionen finden Sie in der Dokumentation zu gcloud beta container backup-restore restores create.

Console

Gehen Sie so vor, um eine detaillierte Wiederherstellung in der Google Cloud Console zu erstellen:

  1. Rufen Sie in der Google Cloud -Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie im Navigationsmenü auf Sicherung für GKE.

  3. Klicken Sie auf den Tab Sicherungen.

  4. Suchen Sie in der Liste der Sicherungen die Sicherung, die Sie wiederherstellen möchten, und klicken Sie auf Wiederherstellung einrichten.

  5. Wählen Sie einen Wiederherstellungsplan aus der Liste der Tarife aus, die für diese Sicherung gelten.

  6. Geben Sie einen Namen und optional eine Beschreibung für die Wiederherstellung ein.

  7. Klicken Sie das Kästchen Detaillierte Wiederherstellung aktivieren an.

  8. Klicken Sie im Abschnitt Einschlussfilter oder Ausschlussfilter auf Filterbedingung hinzufügen.

  9. Legen Sie unter Filterbedingung wiederherstellen die Bedingung fest und klicken Sie auf Änderungen speichern.

  10. Wenn Sie weitere Bedingungen hinzufügen möchten, klicken Sie noch einmal auf Filterbedingungen hinzufügen.

  11. Klicken Sie auf Wiederherstellen.

Beispiele für Filterdateien für die detaillierte Wiederherstellung

Die folgenden Beispiele werden im YAML-Format bereitgestellt, das von der Google Cloud CLI verwendet wird, oder als Schritt-für-Schritt-Anleitung für die Google Cloud -Konsole.

Einzelne Namespace-bezogene Ressource wiederherstellen

In diesem Beispiel wird eine Ressource vom Typ ConfigMap mit dem Namen nginx-vars im Namespace webserver wiederhergestellt. Dazu wird die detaillierte Wiederherstellung InclusionFilters verwendet, um die Ressource auszuwählen. Wenn Sie Ressourcen unter der Gruppe core auswählen möchten, verwenden Sie einen leeren String für resourceGroup.

gcloud

  inclusionFilters:
  - groupKind:
      resourceKind: ConfigMap
    name: nginx-vars
    namespace: webserver

Console

  1. Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
  2. Klicken Sie im Abschnitt Einschlussfilter auf Filterbedingung hinzufügen.
  3. Geben Sie im Feld Ressourcenname nginx-vars ein.
  4. Geben Sie im Feld Namespace webserver ein.
  5. Geben Sie im Feld Object kind (Objekttyp) den Wert ConfigMap ein.
  6. Klicken Sie auf Änderungen speichern.

Einzelne clusterbezogene Ressource ausschließen

In diesem Beispiel werden alle verfügbaren Ressourcen mit Ausnahme einer Ressource vom Typ „GroupKind“ storage.k8s.io/StorageClass mit dem Namen sc1 wiederhergestellt. Dazu wird die detaillierte Wiederherstellung ExclusionFilters verwendet, um die Ressource auszuschließen.

gcloud

exclusionFilters:
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass
  name: sc1

Console

  1. Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
  2. Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
  3. Geben Sie im Feld Ressourcenname sc1 ein.
  4. Geben Sie im Feld API-Gruppe den Wert storage.k8s.io ein.
  5. Geben Sie im Feld Object kind (Objekttyp) den Wert StorageClass ein.
  6. Klicken Sie auf Änderungen speichern.

Ressourcen mit zwei Labels wiederherstellen

In diesem Beispiel werden Ressourcen mit den Labels key1:value1 und key2:value2 wiederhergestellt. Die Ressourcen werden mit der detaillierten Wiederherstellung InclusionFilters ausgewählt.

gcloud

inclusionFilters:
- labels:
    key1: value1
    key2: value2

Console

  1. Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
  2. Klicken Sie im Abschnitt Einschlussfilter auf Filterbedingung hinzufügen.
  3. Im Bereich Labels:

    1. Klicken Sie auf Label hinzufügen.
    2. Geben Sie im Feld Schlüssel 1 key1 ein.
    3. Geben Sie im Feld Wert 1 den Wert value1 ein.
    4. Klicken Sie auf Label hinzufügen.
    5. Geben Sie im Feld Schlüssel 2 key2 ein.
    6. Geben Sie im Feld Wert 2 den Wert value2 ein.
  4. Klicken Sie auf Änderungen speichern.

Alle Ressourcen bestimmter GroupKinds ausschließen

In diesem Beispiel werden alle verfügbaren Ressourcen mit Ausnahme von GroupKind ConfigMap und storage.k8s.io/StorageClass wiederhergestellt. Dazu wird die detaillierte Wiederherstellung ExclusionFilters verwendet, um diese beiden GroupKinds auszuschließen.

gcloud

exclusionFilters:
- groupKind:
    resourceKind: ConfigMap
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass

Console

  1. Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
  2. Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
    1. Geben Sie im Feld Object kind (Objekttyp) den Wert ConfigMap ein.
    2. Klicken Sie auf Änderungen speichern.
  3. Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
    1. Geben Sie im Feld API-Gruppe den Wert storage.k8s.io ein.
    2. Geben Sie im Feld Object kind (Objekttyp) den Wert StorageClass ein.
    3. Klicken Sie auf Änderungen speichern.