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
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
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 alsprojects/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:
Rufen Sie in der Google Cloud -Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf den Tab Sicherungen.
Suchen Sie in der Liste der Sicherungen die Sicherung, die Sie wiederherstellen möchten, und klicken Sie auf Wiederherstellung einrichten.
Wählen Sie einen Wiederherstellungsplan aus der Liste der Tarife aus, die für diese Sicherung gelten.
Geben Sie einen Namen und optional eine Beschreibung für die Wiederherstellung ein.
Klicken Sie das Kästchen Detaillierte Wiederherstellung aktivieren an.
Klicken Sie im Abschnitt Einschlussfilter oder Ausschlussfilter auf Filterbedingung hinzufügen.
Legen Sie unter Filterbedingung wiederherstellen die Bedingung fest und klicken Sie auf Änderungen speichern.
Wenn Sie weitere Bedingungen hinzufügen möchten, klicken Sie noch einmal auf Filterbedingungen hinzufügen.
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
- Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
- Klicken Sie im Abschnitt Einschlussfilter auf Filterbedingung hinzufügen.
- Geben Sie im Feld Ressourcenname
nginx-vars
ein. - Geben Sie im Feld Namespace
webserver
ein. - Geben Sie im Feld Object kind (Objekttyp) den Wert
ConfigMap
ein. - 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
- Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
- Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
- Geben Sie im Feld Ressourcenname
sc1
ein. - Geben Sie im Feld API-Gruppe den Wert
storage.k8s.io
ein. - Geben Sie im Feld Object kind (Objekttyp) den Wert
StorageClass
ein. - 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
- Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
- Klicken Sie im Abschnitt Einschlussfilter auf Filterbedingung hinzufügen.
Im Bereich Labels:
- Klicken Sie auf Label hinzufügen.
- Geben Sie im Feld Schlüssel 1
key1
ein. - Geben Sie im Feld Wert 1 den Wert
value1
ein. - Klicken Sie auf Label hinzufügen.
- Geben Sie im Feld Schlüssel 2
key2
ein. - Geben Sie im Feld Wert 2 den Wert
value2
ein.
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
- Aktivieren Sie die detaillierte Wiederherstellung wie im Verfahren Wiederherstellung mit detailliertem Wiederherstellungsfilter erstellen beschrieben.
- Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
- Geben Sie im Feld Object kind (Objekttyp) den Wert
ConfigMap
ein. - Klicken Sie auf Änderungen speichern.
- Geben Sie im Feld Object kind (Objekttyp) den Wert
- Klicken Sie im Abschnitt Ausschlussfilter auf Filterbedingung hinzufügen.
- Geben Sie im Feld API-Gruppe den Wert
storage.k8s.io
ein. - Geben Sie im Feld Object kind (Objekttyp) den Wert
StorageClass
ein. - Klicken Sie auf Änderungen speichern.
- Geben Sie im Feld API-Gruppe den Wert