Ressourcenkonflikte während der Wiederherstellung behandeln


Auf dieser Seite wird beschrieben, wie Sie Strategien zur Konfliktbehandlung für Namespace- und clusterbezogene Ressourcen in einem Wiederherstellungsplan konfigurieren.

Bei der Wiederherstellung in einem Cluster können in den folgenden Szenarien Ressourcenkonflikte auftreten:

  • Beim Wiederherstellen in einem vorhandenen Cluster, in dem bereits Ressourcen bereitgestellt wurden.
  • Wenn eine Kubernetes-Ressource von Tools wie GitOps oder einem Operator verwaltet wird.

Backup for GKE bietet verschiedene Optionen, um die Konfliktbehandlung für clusterbezogene und Namespace-Ressourcen zu definieren, die Sie in einem Wiederherstellungsplan angeben können.

Konfliktbehandlung für clusterbezogene Ressourcen wiederherstellen

Sie können die folgenden Optionen im Wiederherstellungsplan konfigurieren, um Konflikte für clusterbezogene Ressourcen zu behandeln:

  • Ressourcen im Zielcluster beibehalten (nicht destruktiv): Wenn eine Ressource mit demselben Namen im Zielcluster vorhanden ist, lassen Sie diese unverändert.
  • Ressourcen im Zielcluster ersetzen (destruktiv): Wenn eine Ressource bereits im Zielcluster vorhanden ist, löschen Sie sie und stellen Sie die Kopie aus der Sicherung wieder her.

gcloud

Aktualisieren Sie einen vorhandenen Wiederherstellungsplan, um einen Konflikt für eine clusterbezogene Ressource zu behandeln:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY

Ersetzen Sie Folgendes:

  • RESTORE_PLAN: der Name des Wiederherstellungsplans, den Sie aktualisieren möchten.
  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts.
  • LOCATION: die Computing-Region für die Ressource, z. B. us-central1.
  • CLUSTER_RESOURCE_CONFLICT_POLICY: definiert, wie mit Wiederherstellungszeitkonflikten für ausgewählte Clusterressourcen umgegangen wird. Verwenden Sie eine der folgenden Optionen:

    • use-existing-version: wenn die wiederhergestellten Ressourcen bereits im Zielcluster vorhanden sind, behält Backup for GKE die vorhandenen Ressourcen bei.
    • use-backup-version: wenn die Ressourcen, die wiederhergestellt werden, bereits im Zielcluster vorhanden sind, ersetzt Backup for GKE die vorhandenen Ressourcen durch die neuen Ressourcen aus der Sicherung.

Console

Mithilfe der folgenden Anleitung können Sie die Konfliktrichtlinie für clusterbezogene Ressourcen in der Google Cloud Console aktualisieren:

  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 Pläne wiederherstellen.

  4. Klicken Sie auf den Namen des Wiederherstellungsplans.

  5. Klicken Sie auf den Tab Details.

  6. Wechseln Sie unter Konfigurationen wiederherstellen zum Bereich Clusterbezogene Ressourcen und klicken Sie auf Bearbeiten.

  7. Wählen Sie im Abschnitt Konfliktbehandlung definieren eine Option zur Konfliktbehandlung aus.

  8. Klicken Sie auf Änderungen speichern.

Konfliktbehandlung für Namespace-Ressourcen wiederherstellen

Im Wiederherstellungsplan können Sie die folgenden Optionen konfigurieren, um Konflikte für eine Namespace-Ressource zu verwalten. Sie können die Konfliktbehandlung für Namespace-Ressourcen auf den folgenden Ebenen festlegen:

  • Einzelne Ressource
  • Namespace und ProtectedApplication

Im Folgenden sind die verfügbaren Optionen zur Behandlung von Konflikten für die einzelnen Ressourcen aufgeführt:

  • Zusammenführen und überspringen (nicht destruktiv): Wenn eine bestimmte Ressource bereits vorhanden ist, überspringen Sie die Wiederherstellung der Ressource aus der Sicherung.
  • Zusammenführen und Volume ersetzen (destruktiv): Wenn eine bestimmte Ressource bereits vorhanden ist, überspringen Sie die Wiederherstellung dieser Ressource, aber ersetzen Sie das zugrunde liegende nichtflüchtige Volume mithilfe der Richtlinie zur Wiederherstellung von Volume-Daten. Durch "Zusammenführen und Volume ersetzen" wird die reine Datenwiederherstellung ermöglicht.
  • Zusammenführen und ersetzen (destruktiv): Wenn eine bestimmte Ressource bereits vorhanden ist, ersetzen Sie diese Ressource durch die Ressource aus der Sicherung und die zugehörigen Volume-Daten. Folgen Sie dazu der Richtlinie zur Wiederherstellung von Volume-Daten.

Im Folgenden sind die verfügbaren Optionen zur Behandlung von Konflikten aller Ressourcen aufgeführt, die zu einem Namespace und einer ProtectedApplication gehören:

  • Fehler bei Konflikt (nicht destruktiv): Wenn der Namespace oder die ProtectedApplication zur Wiederherstellung aus einer Sicherung dient, die bereits im Zielcluster vorhanden ist, schlägt die Wiederherstellung fehl.
  • Rollback (destruktiv): Wenn der Zielcluster den Namespace oder die ProtectedApplication enthält, die zur Wiederherstellung auf den Cluster dienen, wird die vorhandene Gruppe von Ressourcen gelöscht. bevor die neuen Ressourcen wiederhergestellt werden.

gcloud

Aktualisieren Sie einen vorhandenen Wiederherstellungsplan, um einen Konflikt für eine Namespace-Ressource zu behandeln:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE

Ersetzen Sie Folgendes:

  • RESTORE_PLAN: der Name des Wiederherstellungsplans, den Sie aktualisieren möchten.
  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts.
  • LOCATION: die Computing-Region für die Ressource, z. B. us-central1.
  • NAMESPACED_RESOURCE_RESTORE_MODE definiert, wie mit Wiederherstellungszeitkonflikten für Namespace-Ressourcen umgegangen wird. Verwenden Sie eine der folgenden Optionen:

    • merge-skip-on-conflict: überspringt die einzelnen in Konflikt stehenden Ressourcen.
    • merge-replace-volume-on-conflict: überspringt die einzelnen in Konflikt stehenden Ressourcen, ersetzt aber die zugrunde liegenden Daten des nichtflüchtigen Volumes.
    • merge-replace-on-conflict: ersetzt die einzelnen in Konflikt stehenden Ressourcen und die zugrunde liegenden Daten des nichtflüchtigen Volumes.
    • fail-on-conflict: schlägt bei in Konflikt stehendem Namespace oder in Konflikt stehender ProtectedApplication fehl.
    • delete-and-restore: führt einen Rollback des in Konflikt stehenden Namespace oder der in Konflikt stehenden ProtectedApplication durch.

Console

Folgen Sie der nachstehenden Anleitung, um die Konfliktrichtlinie für Namespace-Ressourcen in der Google Cloud Console zu aktualisieren:

  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 Pläne wiederherstellen.

  4. Klicken Sie auf den Namen des Wiederherstellungsplans.

  5. Klicken Sie auf den Tab Details.

  6. Wechseln Sie im Bereich Konfigurationen wiederherstellen zum Bereich Namespace-Ressourcen und klicken Sie auf Bearbeiten.

  7. Wählen Sie im Abschnitt Konfliktbehandlung definieren eine Option zur Konfliktbehandlung aus.

  8. Klicken Sie auf Änderungen speichern.

In der folgenden Tabelle sind die empfohlenen Strategien zur Konfliktbehandlung für bestimmte häufige Szenarien aufgeführt:

Szenarien Empfohlene Konfliktbehandlung für eine Namespace-Ressource verwenden Empfohlene Konfliktbehandlung für eine clusterbezogene Ressource verwenden
In einem neuen Cluster wiederherstellen Fehler bei Konflikt Ressourcen im Zielcluster beibehalten
Rollback des gesamten Namespace oder der gesamten ProtectedApplication durchführen Löschen und wiederherstellen Nicht zutreffend
Wiederherstellung in einem von GitOps verwalteten Cluster ohne Volumes Zusammenführen und überspringen Ressourcen im Zielcluster beibehalten
Nur-Datenwiederherstellung für einen von GitOps verwalteten Cluster Zusammenführen und Volume ersetzen Ressourcen im Zielcluster beibehalten
Rollback von ausgewählten Arbeitslast- und Volume-Daten durchführen Zusammenführen und ersetzen Ressourcen im Zielcluster ersetzen

Nächste Schritte