In diesem Dokument wird beschrieben, wie Sie einen Wiederherstellungsplan in Google Distributed Cloud (GDC) mit 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. Beispielsweise kann eine Substitutionsregel den Namespace der gesicherten Ressourcen während der Wiederherstellung ändern, um eine Arbeitslast von einem Namespace zu einem anderen zu migrieren.
Hinweis
IAM-Rollen anfordern
Bitten Sie Ihren IAM-Admin der Organisation, Ihnen die Rolle User Cluster Backup Admin (user-cluster-backup-admin) zuzuweisen, um einen Wiederherstellungsplan zu erstellen. Mit dieser Rolle können Sicherungsressourcen wie Sicherungspläne und Wiederherstellungspläne in Nutzerclustern erstellt, abgerufen, aufgelistet, beobachtet, aktualisiert, gepatcht und gelöscht werden.
Wenn Sie ein Anwendungsoperator sind, bitten Sie einen Administrator mit Berechtigungen als „User Cluster Backup Admin“, einen Wiederherstellungsplan für Sie zu erstellen.
Wiederherstellungsplan erstellen
Erstellen Sie einen Wiederherstellungsplan mithilfe der GDC-Konsole oder der 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 Abschnitt Grundlagen des Wiederherstellungsplans die folgenden Schritte aus und klicken Sie auf Weiter:
- Geben Sie unter Name des Wiederherstellungsplans den Namen Ihres 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 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.
- Klicken Sie auf Ausgewählte Namespace-Ressourcen, um die Namespaces in der Sicherung anzugeben, die wiederhergestellt werden soll.
- 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
PersistentVolumeClaimssind 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 wiederherstellen nach GroupKind, 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 um 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 innerhalb dieser 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, das mit dem neuen 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 der ClusterRestorePlan wird die genaue Gruppe von Ressourcen und Namespaces zugewiesen, die ein Sicherungsersteller wiederherstellen darf. Hier ein Beispiel für einen ClusterRestorePlan:
apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
name: RESTORE_PLAN_NAME
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: CLUSTER_NAME
description: RESTORE_PLAN_DESCRIPTION
clusterBackupPlanName: CLUSTER_BACKUP_PLAN_NAME
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: [NAME_SPACE]
clusterBackupRepositoryRef: CLUSTER_BACKUP_REPOSITORY
substitutionRules:
- newValue: NEW_CONFIG_VALUE
originValuePattern: VALUE_PATTERN
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- NAME_SPACE
- newValue: NEW_CONFIG_VALUE
originValuePattern: VALUE_PATTERN
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- NAME_SPACE
Ersetzen Sie Folgendes:
- Ersetzen Sie
RESTORE_PLAN_NAMEdurch den Namen Ihres Wiederherstellungsplans. - Ersetzen Sie
PROJECT_NAMEdurch den Namen Ihres GDC-Projekts. - Ersetzen Sie
CLUSTER_NAMEdurch den Namen Ihres Clusters.
In diesem Beispiel werden die folgenden Werte verwendet:
Wert |
Attribut |
Beschreibung |
|---|---|---|
targetClusterName |
Name des Quellclusters in einem Projekt, mit dem dieser Plan verknüpft ist. | |
description |
Eine vom Nutzer angegebene Beschreibung des Zwecks der ClusterRestorePlan. |
|
clusterBackupPlanName |
Der Name des ClusterBackupPlan, der wiederhergestellt werden soll. Die ClusterBackupPlan muss sich im selben Namespace wie die ClusterRestorePlan befinden. |
|
clusterRestoreConfig |
Konfiguration für den Wiederherstellungsprozess. | |
volumeDataRestorePolicy |
Geben Sie einen der folgenden Werte an:
|
|
clusterResourceConflictPolicy |
Gibt das Verhalten für den Umgang mit Konflikten bei Clusterressourcen an, z. B. wenn die Ressource bereits im Cluster vorhanden ist. Geben Sie einen der folgenden Werte an:
|
|
namespacedResourceRestoreMode |
Behandelt die Situation, in der die wiederhergestellten Sätze von Namespace-Ressourcen bereits im Zielcluster vorhanden sind. Geben Sie einen der folgenden Werte an:
|
|
namespacedResourceRestoreScope |
Gibt an, welche Namespaces oder ProtectedApplications für die Wiederherstellung zulässig sind.
|
|
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. |
|
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 nacheinander in der definierten Reihenfolge angewendet.
Diese Reihenfolge ist wichtig, da sich Änderungen, die durch eine Regel vorgenommen werden, auf die Abgleichslogik der nachfolgenden Regel auswirken können. In jeder Regel werden ein target, ein originValuePattern für den Abgleich (VALUE_PATTERN) und ein newValue (NEW_CONFIG_VALUE) zum Ersetzen angegeben. Die target kann namespaces enthalten, um den Bereich der Regel (NAME_SPACE) festzulegen. |
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 Console 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:
- User Cluster Backup Admin: 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 in der Liste auf einen Wiederherstellungsplan, um die Details aufzurufen.
Wiederherstellungsplan bearbeiten
Wenn das Backup-Repository, das mit dem Wiederherstellungsplan verknüpft ist, den Sie bearbeiten möchten, beim Erstellen des Wiederherstellungsplans einen Wert im Feld Verknüpfter Cluster(schreibgeschützt) hat, wird es zweimal erstellt. Der Wiederherstellungsplan wird sowohl an den Lese-/Schreib- als auch an den Cluster mit Lesezugriff weitergegeben.
Wenn Sie den Wiederherstellungsplan bearbeiten, der zu einem Backup-Repository gehört, für das sowohl Lese-/Schreib- als auch Lesezugriff-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:
- User Cluster Backup Admin: 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 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 edit „Bearbeiten“, um diese Ressource zu bearbeiten:
Wählen Sie im Abschnitt Namespace-Ressourcen auswählen die Namespace-Ressourcen in der Sicherung aus, die Sie wiederherstellen möchten:
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 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 diese 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
GroupKindsan und legen Sie fest, wie 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
GroupKindwiederherzustellen:Klicken Sie auf den Button GroupKind bearbeiten, um einen
GroupKindanzugeben.Klicken Sie auf den Button GroupKind hinzufügen.
Geben Sie den Namen des
GroupKindein.Klicken Sie auf Speichern.
Legen Sie im Abschnitt Konfliktbehandlung fest, welche Aktion ausgeführt werden soll, wenn die Ressource bereits im Zielcluster vorhanden ist:
- Wählen Sie Vorhandene Ressourcen beibehalten aus, um Ressourcen zu erstellen, wenn sie noch nicht im Cluster vorhanden sind.
- Wählen Sie Vorhandene Ressourcen überschreiben aus, um alle vorhandenen Ressourcen zu löschen und diese Ressource durch die wiederhergestellte Ressource zu ersetzen.
Klicken Sie auf Speichern, um die Änderungen zu bestätigen.
Klicken Sie im Bereich Ersetzungsregeln auf den Button Neue Regel hinzufügen, um eine neue Ersetzungsregel hinzuzufügen:
- Geben Sie im Feld Cluster-Namespaces den Namen des Cluster-Namespace ein, für den diese Substitutionsregel gelten soll.
- Klicken Sie auf den Button 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 Originalwert des Attributs übereinstimmt.
- Geben Sie im Feld Neuer Wert den Wert ein, der das Zielfeld ersetzen soll. Wenn dieses Feld leer ist, wird das Zielfeld aus der Ressource entfernt.
- Klicken Sie auf Speichern, um die Erstellung der neuen Substitutionsregel abzuschließen.
Klicken Sie im Bereich Ersetzungsregeln auf das Symbol edit „Bearbeiten“, um eine vorhandene Ersetzungsregel zu bearbeiten.
Klicken Sie im Bereich Ersetzungsregeln auf das Löschsymbol delete, um eine vorhandene Ersetzungsregel zu löschen.
Wiederherstellungsplan löschen
RestorePlans kann über die GDC-Konsole oder durch direktes Löschen der Ressource vom Kubernetes API-Server gelöscht werden. Dadurch werden alle zugehörigen RestorePlan-Artefakte aus dem Objektspeicher gelöscht.
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:
- User Cluster Backup Admin: 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 den Button delete Löschen.
- Geben Sie den Namen des Wiederherstellungsplans in das Feld ein.
- Klicken Sie auf den Button Löschen, um das Löschen dieses Wiederherstellungsplans zu bestätigen.
API
Löschen Sie die Wiederherstellungsplan-Ressource:
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.