Detaillierte Wiederherstellung aktivieren


Auf dieser Seite wird beschrieben, wie Sie Ressourcen für die Wiederherstellung mit detaillierterer Genauigkeit auswählen.

Übersicht

Mit der detaillierten Wiederherstellungsfunktion können Sie einen Teil der Ressourcen aus einer Sicherung wiederherstellen. Das detaillierte Wiederherstellungsfeature bietet die Flexibilität, den im übergeordneten Wiederherstellungsplan definierten Wiederherstellungsbereich zu optimieren. Wenn sich der detaillierte Wiederherstellungsbereich nicht mit dem im übergeordneten Wiederherstellungsplan definierten ursprünglichen Bereich überschneidet, werden keine Ressourcen wiederhergestellt.

Das fein abgestufte Wiederherstellungsfeature kann für Wiederherstellungspläne mit einzelnen 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.

Für eine detaillierte Wiederherstellung können Sie unter „Einschluss- 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 „Einschließen“- und „Ausschließen“-Filter gleichzeitig definieren. Wenn Einschlussfilter verwendet werden, werden nur Ressourcen wiederhergestellt, die diesen Filtern entsprechen. Bei Verwendung von Ausschlussfiltern werden übereinstimmende Ressourcen aus dem Wiederherstellungsprozess ausgeschlossen. Wenn sowohl Einschluss- als auch Ausschlussfilter angegeben sind, werden zuerst Einschlussfilter und dann 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 gibt es vier optionale Attribute:

  • 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, um Ressourcen basierend auf Kubernetes-Labels auszuwählen

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

Hinweise

Planen Sie eine Reihe von Wiederherstellungen.

Wiederherstellung mit einem detaillierten Wiederherstellungsfilter erstellen

gcloud

  1. YAML- oder JSON-Datei mit detaillierten Wiederherstellungsfiltern erstellen 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 detaillierten Wiederherstellungsfilterdatei.

    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 ist 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 ist der Pfad Ihrer detaillierten Wiederherstellungsfilter.

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

Console

Verwenden Sie die folgende Anleitung, 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 auf das Kästchen Detaillierte Wiederherstellung aktivieren.

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

  9. Definieren Sie in der Option Filterbedingung wiederherstellen die Bedingung 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 detaillierte Wiederherstellungsfilterdateien

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

Einzelne Namespace-bezogene Ressource wiederherstellen

In diesem Beispiel wird eine Ressourcenart ConfigMap mit dem Namen nginx-vars im Namespace webserver wiederhergestellt. Dabei wird die detaillierte Wiederherstellung InclusionFilters verwendet, um die Ressource auszuwählen. Wenn Sie Ressourcen in 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 eine detaillierte Wiederherstellung, wie Sie es im Verfahren Wiederherstellung mit einem detaillierten Wiederherstellungsfilter erstellen getan haben.
  2. Klicken Sie im Bereich Einschlussfilter auf Filterbedingung hinzufügen.
  3. Geben Sie im Feld Ressourcenname den Wert nginx-vars ein.
  4. Geben Sie im Feld Namespace den Wert webserver ein.
  5. Geben Sie im Feld Objektart 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 GroupKind storage.k8s.io/StorageClass mit dem Namen sc1 wiederhergestellt. Dabei 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 eine detaillierte Wiederherstellung, wie Sie es im Verfahren Wiederherstellung mit einem detaillierten Wiederherstellungsfilter erstellen getan haben.
  2. Klicken Sie im Bereich Ausschlussfilter auf Filterbedingung hinzufügen.
  3. Geben Sie im Feld Ressourcenname den Wert sc1 ein.
  4. Geben Sie im Feld API-Gruppe storage.k8s.io ein.
  5. Geben Sie im Feld Objektart den Wert StorageClass ein.
  6. Klicken Sie auf Änderungen speichern.

Ressourcen mit zwei Labels wiederherstellen

In diesem Beispiel werden Ressourcen mit den beiden Labels key1:value1 und key2:value2 mithilfe der detaillierten Wiederherstellung InclusionFilters wiederhergestellt, um die Ressourcen auszuwählen.

gcloud

inclusionFilters:
- labels:
    key1: value1
    key2: value2

Console

  1. Aktivieren Sie eine detaillierte Wiederherstellung, wie Sie es im Verfahren Wiederherstellung mit einem detaillierten Wiederherstellungsfilter erstellen getan haben.
  2. Klicken Sie im Bereich Einschlussfilter auf Filterbedingung hinzufügen.
  3. Im Abschnitt 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 einiger GroupKinds ausschließen

In diesem Beispiel werden alle verfügbaren Ressourcen mit Ausnahme von GroupKind ConfigMap und storage.k8s.io/StorageClass wiederhergestellt. Dabei 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 eine detaillierte Wiederherstellung, wie Sie es im Verfahren Wiederherstellung mit einem detaillierten Wiederherstellungsfilter erstellen getan haben.
  2. Klicken Sie im Bereich Ausschlussfilter auf Filterbedingung hinzufügen.
    1. Geben Sie im Feld Objektart den Wert ConfigMap ein.
    2. Klicken Sie auf Änderungen speichern.
  3. Klicken Sie im Bereich Ausschlussfilter auf Filterbedingung hinzufügen.
    1. Geben Sie im Feld API-Gruppe storage.k8s.io ein.
    2. Geben Sie im Feld Objektart den Wert StorageClass ein.
    3. Klicken Sie auf Änderungen speichern.