Auf dieser Seite wird beschrieben, wie Sie einen Wiederherstellungsplan in Google Distributed Cloud (GDC) Air-Gap erstellen, bearbeiten und löschen.
Wiederherstellungspläne sind vorkonfigurierte Wiederherstellungsszenarien für Sicherungen. Mit Wiederherstellungsplänen können Nutzern mit der Rolle „Backup Creator“ Berechtigungen zur Verwendung dieser Konfigurationen erteilt werden.
Backup Creators können eine Sicherung schnell und unabhängig wiederherstellen, wenn ein Vorfall auftritt. Zum Beispiel können nichtflüchtige Daten durch ein Softwareupdate in einer bereitgestellten Anwendung beschädigt werden, wodurch der Anwendungs-Namespace in einen ungültigen Zustand versetzt wird, der eine Wiederherstellung erfordert.
Während der Wiederherstellung können Sie optional eine Reihe von Ersetzungsregeln anwenden, die mit einer Reihe von Ressourcen übereinstimmen und den aktuellen Wert eines Attributs für diese Ressourcen durch einen neuen Wert ersetzen. Mit einer Substitutionsregel kann beispielsweise der Namespace der gesicherten Ressourcen während der Wiederherstellung geändert werden, um eine Arbeitslast von einem Namespace in einen anderen zu migrieren.
Hinweise
Zum Erstellen eines Wiederherstellungsplans benötigen Sie Folgendes:
Die erforderliche Identitäts- und Zugriffsrolle:
- Administrator für Sicherungen von Nutzerclustern: Verwaltet Sicherungsressourcen wie Sicherungs- und Wiederherstellungspläne in Nutzerclustern. Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „User Cluster Backup Admin“ (
user-cluster-backup-admin
) zuzuweisen. Weitere Informationen finden Sie unter Rollendefinitionen. - Wenn Sie ein Anwendungsoperator sind, bitten Sie Ihren Administrator mit der Rolle „User Cluster Backup Admin“, einen Wiederherstellungsplan für Sie zu erstellen.
- Administrator für Sicherungen von Nutzerclustern: Verwaltet Sicherungsressourcen wie Sicherungs- und Wiederherstellungspläne in Nutzerclustern. Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „User Cluster Backup Admin“ (
Wiederherstellungsplan erstellen
Erstellen Sie einen Wiederherstellungsplan über die GDC-Konsole oder die API.
Console
- Melden Sie sich in der GDC-Konsole an.
- Klicken Sie im Navigationsmenü auf Sicherung für Cluster.
- Klicken Sie auf Wiederherstellungsplan erstellen.
- Führen Sie im Bereich Grundlagen des Wiederherstellungsplans die folgenden Schritte aus und klicken Sie auf Weiter:
- Geben Sie unter Name des Wiederherstellungsplans den Namen des Wiederherstellungsplans ein.
- Optional: Geben Sie unter Beschreibung des Wiederherstellungsplans eine Beschreibung für den Wiederherstellungsplan ein.
- Wählen Sie in der Liste Quellcluster den Quellcluster für den Wiederherstellungsplan aus.
- Wählen Sie in der Liste Projekt das Projekt für den Wiederherstellungsplan aus.
- Wählen Sie das Projekt aus, das an den Quellcluster angehängt ist.
- Wählen Sie im Feld Sicherungsplan einen Sicherungsplan für einen vorhandenen Cluster aus, der den Sicherungen entspricht, die Sie wiederherstellen möchten.
- Wählen Sie im Feld Zielcluster den Zielcluster aus, in dem Sie die Sicherung wiederherstellen möchten.
- Führen Sie im Abschnitt Namespace-Ressourcen auswählen die folgenden Schritte aus und klicken Sie auf Weiter:
- Wählen Sie aus, welche Namespaces wiederhergestellt werden sollen:
- Klicken Sie auf Alle Namespace-Ressourcen, um alle Namespace-Ressourcen in der Sicherung wiederherzustellen.
- Klicken Sie auf Ausgewählte Namespace-Ressourcen, um die Namespaces in der Sicherung anzugeben, die wiederhergestellt werden soll.
- Klicken Sie auf Cluster-Namespaces bearbeiten und dann auf Cluster-Namespace hinzufügen, um einen Namespace einzugeben.
- Klicken Sie auf Ausgewählte geschützte Anwendungen, um Ressourcen durch Angabe von Namespace und Anwendungsnamen hinzuzufügen.
- Wählen Sie aus, wie Konflikte verarbeitet werden sollen:
- Klicken Sie auf Fehler bei Konflikt (nicht destruktiv), damit die Wiederherstellung fehlschlägt, wenn im Zielcluster bereits Namespaces zur Wiederherstellung aus einer Sicherung vorhanden sind.
- Klicken Sie auf Rollback (destruktiv), um die vorhandenen Namespaces zu löschen, bevor die neuen Namespaces wiederhergestellt werden, wenn im Zielcluster bereits Namespaces zur Wiederherstellung aus einer Sicherung vorhanden sind.
- Wählen Sie aus, wie Volume-Daten wiederhergestellt werden sollen:
- Klicken Sie auf Neue Volumes bereitstellen und Volume-Daten aus der Sicherung wiederherstellen, um Volume-Daten aus der Sicherung auf einem neuen nichtflüchtigen Speicher wiederherzustellen.
- Klicken Sie auf Volume-Daten nicht wiederherstellen, um ein neues nichtflüchtiges Volume bereitzustellen. Wenn der Zielcluster ein unbegrenztes nichtflüchtiges Volume enthält, das die
PersistentVolumeClaim
-Anforderungen erfüllt, ist der Cluster an das Volume gebunden. - Klicken Sie auf Vorhandene Volumes mit Ihren Daten wiederverwenden, um keine Volume-Sicherungsdaten wiederherzustellen. Alle
PersistentVolumeClaims
sind an Volumes gebunden, die auf vorhandene nichtflüchtige Speicher verweisen.
- Wählen Sie aus, welche Namespaces wiederhergestellt werden sollen:
- Optional: Führen Sie im Abschnitt Clusterbezogene Ressourcen auswählen die folgenden Schritte aus und klicken Sie auf Weiter:
- Klicken Sie auf Clusterbezogene Ressourcen nicht wiederherstellen, um die vorhandene Version der Ressource unverändert zu lassen.
- Klicken Sie auf Clusterbezogene Ressourcen nach GroupKind wiederherstellen, um diese Ressourcen wiederherzustellen.
- Klicken Sie auf GroupKinds bearbeiten, um weitere clusterbezogene Ressourcen hinzuzufügen. Geben Sie die API-Gruppe und die Objektart ein, um Ressourcen in diesen Typen abzugleichen.
- Klicken Sie auf Vorhandene Ressourcen beibehalten, um Ressourcen zu erstellen, wenn sie im Zielcluster nicht vorhanden sind.
- Klicken Sie auf Ressourcen im Zielcluster überschreiben, um eine Ressource zu löschen, wenn sie bereits im Zielcluster vorhanden ist, und die Kopie aus der Sicherung wiederherzustellen.
- Optional: Führen Sie im Abschnitt Ersetzungsregeln hinzufügen die folgenden Schritte aus und klicken Sie auf Weiter:
- Klicken Sie auf Neue Regel hinzufügen.
- Geben Sie im Feld Cluster-Namespaces eine Liste von Namespaces ein, um einen Abgleich mit Ressourcen in diesen Namespaces auszuführen.
- Wenn Sie GroupKinds hinzufügen möchten, klicken Sie auf GroupKind hinzufügen und geben Sie die API-Gruppe und die Objektart ein, um Ressourcen in diesen Typen abzugleichen.
- Geben Sie im Feld JSON-Pfad den JSON-Pfad ein, der die Felder in den übereinstimmenden Ressourcen identifiziert, für die der Ersatz gilt.
- Geben Sie im Feld Original value pattern (Muster für Originalwert) das ursprüngliche Muster ein, mit dem der neue Wert verglichen werden soll.
- Geben Sie im Feld Neuer Wert den neuen Wert ein, der den aktuellen Wert der übereinstimmenden Attribute ersetzt.
- Klicken Sie auf Speichern.
- Klicken Sie auf Erstellen.
API
Erstellen Sie eine benutzerdefinierte ClusterRestorePlan
-Ressource, um Wiederherstellungen aus einem vorhandenen ClusterBackupPlan
zu planen. Mit ClusterRestorePlan
wird die genaue Gruppe von Ressourcen und Namespaces zugewiesen, die ein Backup-Ersteller wiederherstellen darf. Hier siehst du ein Beispiel für eine ClusterRestorePlan
:
apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
name: restoreplan-sample
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: "user-vm-1"
description: "restores test clusters"
clusterBackupPlanName: "backupplan-sample"
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: ["nginx-2"]
clusterBackupRepositoryRef: "backup-repository"
substitutionRules:
- newValue: "newhippo"
originValuePattern: game-config-2
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
- newValue: "hippo"
originValuePattern: game-config
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
Ersetzen Sie PROJECT_NAME
durch den Namen Ihres GDC-Projekts.
In diesem Beispiel werden die folgenden Werte verwendet:
Wert |
Attribut |
Beschreibung |
---|---|---|
clusterBackupPlanName |
Der Name des wiederherzustellenden ClusterBackupPlan . Die ClusterBackupPlan muss im selben Namespace wie die ClusterRestorePlan vorhanden sein. |
|
targetClusterName |
Name des Quellclusters in einem Projekt, dem dieser Plan zugeordnet ist. | |
description |
Eine vom Nutzer angegebene Beschreibung des Zwecks von ClusterRestorePlan . |
|
clusterRestoreConfig |
Konfiguration für den Wiederherstellungsprozess. | |
clusterBackupRepositoryRef |
Gibt das Repository an, in dem die Restore -Ressourcen gespeichert werden sollen. Dieses Repository kann sich von dem Repository unterscheiden, aus dem die Sicherung stammt. Das Repository muss ein ReadWrite -Repository im Cluster sein. |
|
clusterResourceConflictPolicy |
Gibt das Verhalten für die Verarbeitung von Konflikten bei Clusterressourcen an, z. B. wenn die Ressource bereits im Cluster vorhanden ist. Geben Sie eine der folgenden Optionen an:
|
|
volumeDataRestorePolicy |
Geben Sie eine der folgenden Optionen an:
|
|
namespacedResourceRestoreMode |
Behandelt die Situation, in der die wiederhergestellten Namespace-Ressourcen bereits im Zielcluster vorhanden sind. Geben Sie eine der folgenden Optionen an:
|
|
namespacedResourceRestoreScope |
Gibt an, welche Namespaces oder ProtectedApplications für die Wiederherstellung zulässig sind.
|
|
substitutionRules |
Regeln zum Ersetzen von Werten in den gesicherten Kubernetes-Ressourcen während der Wiederherstellung. Eine leere Liste bedeutet, dass keine Ersetzung erfolgt. Ersetzungsregeln werden in der definierten Reihenfolge nacheinander angewendet. Diese Reihenfolge ist wichtig, da sich Änderungen, die durch eine Regel vorgenommen werden, auf die Abgleichslogik der nachfolgenden Regel auswirken können. |
Nachdem ein ClusterRestorePlan
erstellt wurde, können Nutzer mit der Rolle „Backup Creator“ Sicherungen manuell wiederherstellen.
Wiederherstellungsplan ansehen
So rufen Sie einen Wiederherstellungsplan über die GDC-Konsole auf:
- Melden Sie sich in der GDC-Konsole an.
- Klicken Sie im Navigationsmenü auf Sicherung für Cluster.
- Klicken Sie auf Projekt auswählen, um je nach Rolle eine Organisation oder ein Projekt auszuwählen:
- Administrator für Back-ups von Nutzerclustern: Wählen Sie eine Organisation aus, um alle Wiederherstellungspläne in einer Organisation aufzurufen, oder wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Sicherungs-Creator: Wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Klicken Sie auf den Tab Pläne wiederherstellen.
- Klicken Sie in der Liste auf einen Wiederherstellungsplan, um die zugehörigen Details aufzurufen.
Wiederherstellungsplan bearbeiten
Wenn das mit dem Wiederherstellungsplan, den Sie bearbeiten möchten, verknüpfte Sicherungs-Repository bei der Erstellung des Wiederherstellungsplans einen Wert im Feld Verknüpfter Cluster(schreibgeschützt) hat, wird es zweimal erstellt. Der Wiederherstellungsplan wird sowohl auf die Lese-/Schreib- als auch auf die schreibgeschützten Cluster übertragen.
Wenn Sie den Wiederherstellungsplan bearbeiten, der zu einem Sicherungs-Repository gehört, für das sowohl Lese-/Schreib- als auch Nur-Lese-Cluster festgelegt sind, müssen Sie den Wiederherstellungsplan bearbeiten, für den TARGET CLUSTER
auf den Lese-/Schreib-Cluster festgelegt ist.
So bearbeiten Sie einen Wiederherstellungsplan mit der GDC Console:
- Melden Sie sich in der GDC-Konsole an.
- Klicken Sie im Navigationsmenü auf Sicherung für Cluster.
- Klicken Sie auf Projekt auswählen, um je nach Rolle eine Organisation oder ein Projekt auszuwählen:
- Administrator für Back-ups von Nutzerclustern: Wählen Sie eine Organisation aus, um alle Wiederherstellungspläne in einer Organisation aufzurufen, oder wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Sicherungs-Creator: Wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Klicken Sie auf den Tab Pläne wiederherstellen.
- Klicken Sie auf den Namen des Wiederherstellungsplans, den Sie bearbeiten möchten.
- Klicken Sie auf den Tab Plan Configuration (Plankonfiguration), um die Felder aufzurufen, die geändert werden können.
Klicken Sie neben Namespace-Ressourcen auf das Symbol „Bearbeiten“ edit, um die entsprechende Ressource zu bearbeiten:
Wählen Sie im Abschnitt Namespace-Ressourcen auswählen aus, welche Namespace-Ressourcen in der Sicherung wiederhergestellt werden sollen:
- Wählen Sie Alle Namespace-Ressourcen aus, um alle Namespace-Ressourcen in der Sicherung wiederherzustellen.
Wählen Sie Ausgewählte Namespace-Ressourcen aus, um Ressourcen aus den ausgewählten Namespaces in der Sicherung wiederherzustellen:
- Wählen Sie Cluster-Namespaces bearbeiten aus, um den Cluster-Namespace auszuwählen.
- Geben Sie im Feld Cluster-Namespace 1 den Namen für den Namespace ein.
- Klicken Sie auf Speichern.
Wählen Sie Ausgewählte geschützte Anwendungen aus, um Ressourcen aus den ausgewählten geschützten Anwendungen in der Sicherung wiederherzustellen:
- Wählen Sie Geschützte Anwendungen bearbeiten aus, um den Namespace und die geschützte Anwendung auszuwählen.
- Geben Sie im Feld Namespace 1 den Namen für den Namespace ein.
- Geben Sie im Feld Protected application 1 (Geschützte Anwendung 1) den Namen der geschützten Anwendung ein.
- Klicken Sie auf Speichern.
Klicken Sie neben Clusterbezogene Ressourcen auf das Symbol edit „Bearbeiten“, um die Ressource zu bearbeiten:
Optional: Wählen Sie im Abschnitt Clusterbezogene Ressourcen auswählen die clusterbezogenen Ressourcen aus, die wiederhergestellt werden sollen. Geben Sie dazu die API-Gruppen und
GroupKinds
an und entscheiden Sie, wie die Konflikte gelöst werden sollen:- Wählen Sie Clusterbezogene Ressourcen nicht wiederherstellen aus, um clusterbezogene Ressourcen aus dem Wiederherstellungsprozess zu entfernen.
Wählen Sie Clusterbezogene Ressourcen nach GroupKind wiederherstellen aus, um die Ressourcen nach der angegebenen
GroupKind
wiederherzustellen:Wenn Sie eine
GroupKind
angeben möchten, klicken Sie auf die Schaltfläche Edit GroupKind (GroupKind bearbeiten).Klicken Sie auf die Schaltfläche Add GroupKind (GroupKind hinzufügen).
Geben Sie den Namen des
GroupKind
ein.Klicken Sie auf Speichern.
Legen Sie im Abschnitt Konfliktbehandlung fest, welche Aktion ausgeführt werden soll, wenn die Ressource im Zielcluster bereits vorhanden ist:
- Wählen Sie Vorhandene Ressourcen beibehalten aus, um Ressourcen zu erstellen, wenn sie im Cluster noch nicht vorhanden sind.
- Wählen Sie Vorhandene Ressourcen überschreiben aus, um alle vorhandenen Ressourcen zu löschen und durch die wiederhergestellte Ressource zu ersetzen.
Klicken Sie auf die Schaltfläche Speichern, um die Änderungen zu bestätigen.
Klicken Sie im Bereich Ersetzungsregeln auf die Schaltfläche Neue Regel hinzufügen, um eine neue Ersetzungsregel hinzuzufügen:
- Geben Sie im Feld Cluster-Namespaces den Namen des Cluster-Namespace ein, auf den diese Ersetzungsregel angewendet werden soll.
- Klicken Sie auf die Schaltfläche GroupKind hinzufügen, um diese Regel auf ein bestimmtes
GroupKind
-Objekt anzuwenden. - Geben Sie im Feld JSON-Pfad den Pfad zum Ressourcenattribut ein, das Sie ersetzen möchten, im JSON-Format.
- Geben Sie im Feld Muster für Originalwert einen regulären Ausdruck ein, der mit dem ursprünglichen Wert des Attributs übereinstimmt.
- Geben Sie im Feld Neuer Wert den Wert ein, der das Zielfeld ersetzt. Wenn dieses Feld leer ist, wird das Zielfeld aus der Ressource entfernt.
- Klicken Sie auf die Schaltfläche „Speichern“, um die Erstellung der neuen Ersetzungsregel abzuschließen.
Klicken Sie im Bereich Ersetzungsregeln auf das Symbol „Bearbeiten“ edit, um eine vorhandene Ersetzungsregel zu bearbeiten.
Klicken Sie im Bereich Ersetzungsregeln auf das Symbol delete „Löschen“, um eine vorhandene Ersetzungsregel zu löschen.
Wiederherstellungsplan löschen
RestorePlans
kann über die GDC-Konsole oder durch Löschen der Ressource direkt vom Kubernetes API-Server gelöscht werden. Dadurch werden alle zugehörigen RestorePlan
-Artefakte aus dem Objektspeicher entfernt.
Console
- Melden Sie sich in der GDC-Konsole an.
- Klicken Sie im Navigationsmenü auf Sicherung für Cluster.
- Klicken Sie auf Projekt auswählen, um je nach Rolle eine Organisation oder ein Projekt auszuwählen:
- Administrator für Sicherung von Nutzerclustern: Wählen Sie eine Organisation aus, um alle Wiederherstellungspläne in einer Organisation aufzurufen, oder wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Backup Creator: Wählen Sie ein Projekt aus, um alle Wiederherstellungspläne in einem Projekt aufzurufen.
- Klicken Sie auf den Tab Pläne wiederherstellen.
- Klicken Sie auf den Namen des Wiederherstellungsplans, den Sie löschen möchten.
- Klicken Sie auf die Schaltfläche delete Löschen.
- Geben Sie den Namen des Wiederherstellungsplans in das Feld ein.
- Klicken Sie auf die Schaltfläche Löschen, um das Löschen dieses Wiederherstellungsplans zu bestätigen.
API
Löschen Sie die Wiederherstellungsplanressource:
kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE
Ersetzen Sie Folgendes:
RESTORE_PLAN_NAME
: der Name des Wiederherstellungsplans.NAMESPACE
: der Namespace, der den Wiederherstellungsplan enthält.