Eine Reihe von Sicherungen planen


Auf dieser Seite wird beschrieben, wie Sie den "Sicherung für GKE"-Sicherungsplan erstellen, um Ihre Arbeitslasten in Google Kubernetes Engine (GKE) zu sichern.

Sicherungspläne bieten die Konfigurations-, Standort- und Verwaltungsfunktionen für eine Reihe von Sicherungen. Ein Sicherungsplan enthält eine Sicherungskonfiguration, die den Quellcluster, die Auswahl der zu sichernden Arbeitslasten und die Region enthält, in der die unter diesem Plan erstellten Sicherungsartefakte gespeichert werden.

Sie können für jeden Cluster einen oder mehrere Sicherungspläne erstellen. Es gibt zwei Hauptgründe, warum Sie mehr als einen Sicherungsplan für einen Cluster benötigen könnten:

  • Sie möchten Ihre Sicherungsartefakte in mehreren Regionen speichern. Erstellen Sie in diesem Fall einen Sicherungsplan für jede Region, in der Sie Sicherungen speichern möchten.
  • Sie möchten die Sicherungen Ihres Clusters partitionieren, zum Beispiel:

    • Anstatt eine sehr große Sicherung zu einer einzigen Tageszeit zu erstellen, möchten Sie mehrere kleinere Sicherungen über den Tag verteilen.
    • Sie möchten einige Teile Ihres Clusters häufiger sichern als andere, z. B. tägliche Sicherungen für einige Namespaces und stündliche Sicherungen für andere.

Jeder Cluster sollte mindestens einen Sicherungsplan haben.

Sie können einen Sicherungsplan mit einer Sicherungsplanungsmethode erstellen, um Sicherungen automatisch zu erstellen: intelligente Planung oder Cron-Planung. Wir empfehlen die intelligente Planung für Ihren Sicherungsplan. Dadurch werden Sicherungen automatisch erstellt, um die Anforderungen an das Recovery Point Objective (RPO) zu erfüllen. Weitere Informationen finden Sie unter Automatische Sicherung und Löschung.

Wenn Sie keinen Sicherungsplan mit Sicherungsplanungsmethoden erstellen möchten, müssen Sie Ihre Arbeitslasten manuell sichern. Nachdem Sie einen Sicherungsplan erstellt haben, können Sie aus diesem Plan eine Sicherung erstellen.

Hinweise

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen den Backup for GKE-Sicherungsadministrator (roles/gkebackup.backupAdmin) zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten eines Sicherungsplans benötigen. Dies ist eine Teilmenge der IAM-Rolle „Sicherung für GKE-Administrator“ (roles/gkebackup.admin) in Ihrem Projekt. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Sicherungsplan erstellen

Erstellen Sie einen Sicherungsplan mithilfe der gcloud CLI oder der Google Cloud Console.

gcloud

Führen Sie den folgenden Befehl aus, um einen Sicherungsplan mit einem Zeitplan zu erstellen:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --encryption-key=ENCRYPTION_KEY
    --target-rpo-minutes=TARGET_RPO_MINUTES \
    --exclusion-windows-file=EXCLUSION_WINDOWS_FILE
    --cron-schedule=CRON_SCHEDULE \
    --backup-retain-days=RETAIN_DAYS \
    --backup-delete-lock-days=DELETE_LOCK_DAYS \
    --locked

Dabei gilt:

  • BACKUP_PLAN: der Name des Sicherungsplans, den Sie erstellen möchten.
  • PROJECT_ID: die ID Ihres Google Cloud-Projekts.
  • LOCATION: die Computing-Region für die Ressource, z. B. us-central1. Siehe Informationen zu Ressourcenstandorten.
  • CLUSTER: der relative Pfad zum Cluster:
    • Regionale Cluster: projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
    • Zonale Cluster: projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
  • CLUSTER_NAME: der Name des zu sichernden Clusters.
  • --all-namespaces: Alle Namespaces für den Cluster werden gesichert.

    Alternativ können Sie Folgendes angeben:

    • --selected-applications durch eine Liste von ProtectedApplications als NAMESPACE1/APP1,NAMESPACE2/APP2,... zur Sicherung.
    • --selected-namespaces durch eine Liste von Namespaces als NAMESPACE1,NAMESPACE2,... für die Sicherung.

    Beim Erstellen eines Sicherungsplans müssen Sie eine dieser Optionen angeben.

  • --include-secrets: ein optionales Argument zum Einschließen von Secret-Ressourcen, wenn sie im Bereich der Sicherung liegen.

  • --include-volume-data: ein optionales Argument zum Einschließen von Daten aus nichtflüchtigen Volumes in die Sicherung. Legen Sie dieses Argument nicht fest, wenn Sie während der Wiederherstellung leere Volumes erstellen möchten.

  • ENCRYPTION_KEY: ein optionales Argument, um den Pfad zu einem vom Kunden verwalteten Verschlüsselungsschlüssel zu definieren. Weitere Informationen finden Sie unter Informationen zur CMEK-Verschlüsselung.

  • TARGET_RPO_MINUTES: erforderliches Argument, wenn EXCLUSION_WINDOWS_FILE festgelegt ist. Geben Sie das Ziel-RPO in Minuten an. Die intelligente Planung verwendet diesen Wert, um Sicherungen automatisch zu erstellen. Das Minimum beträgt 60 Minuten (1 Stunde) und das Maximum beträgt 86.400 Minuten (60 Tage). Sie können TARGET_RPO_MINUTES und CRON_SCHEDULE nicht gleichzeitig in einem Sicherungsplan festlegen.

  • EXCLUSION_WINDOWS_FILE: ein optionales Argument zum Definieren von Zeitfenstern, in denen keine Sicherung durchgeführt werden kann. Alle Zeiten werden als UTC interpretiert. Dieses Argument ist nur verfügbar, wenn TARGET_RPO_MINUTES festgelegt ist.

  • CRON_SCHEDULE: ein optionales Argument zum Definieren eines Cron-Zeitplans, der automatisch Sicherungen erstellt und die Standardsyntax cron unterstützt. Beispiel: "10 3 * * *" erstellt täglich eine Sicherung um 03:10 Uhr. Alle Zeiten werden als UTC interpretiert. Das Mindestintervall zwischen geplanten Sicherungen beträgt 10 Minuten. Sie können CRON_SCHEDULE und TARGET_RPO_MINUTES nicht gleichzeitig in einem Sicherungsplan festlegen.

  • RETAIN_DAYS: erforderliches Argument, wenn TARGET_RPO_MINUTES oder CRON_SCHEDULE festgelegt ist. Geben Sie an, wie viele Tage die Sicherung aufbewahrt werden soll. Die Sicherungen dieses Plans werden nach Ablauf der Aufbewahrungsdauer automatisch gelöscht.

  • DELETE_LOCK_DAYS: ein optionales Argument zur Angabe der Anzahl der Tage, an denen Sicherungen nicht gelöscht werden können. Wenn dieser Wert festgelegt ist, können die für diesen Plan erstellten Sicherungen erst nach Ablauf dieser Lebensdauer (automatisch oder manuell) gelöscht werden.

  • --locked: ein optionales Argument zum Sperren der Aufbewahrungsrichtlinie für den Sicherungsplan.

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

Erstellen Sie einen Sicherungsplan für alle Namespaces mit einem RPO von 24 Stunden und einem einzelnen Ausschlussfenster.

Erstellen Sie eine Datei „window.yaml“, die ein YAML-Array von exclusionWindows enthält.

exclusionWindows:
- startTime:
    hours: 1
    minutes: 0
  duration: "3600s"
  singleOccurrenceDate:
    day: 1
    month: 3
    year: 2024

Der folgende Befehl erstellt einen Sicherungsplan für alle Namespaces mit einem Ziel-RPO von 24 Stunden. Am 1. März 2024 sind keine Sicherungen von 1:00 Uhr bis 2:00 Uhr zulässig. Sicherungen werden sieben Tage lang aufbewahrt und nach der Erstellung drei Tage lang gesperrt:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --target-rpo-minutes=1440 \
    --exclusion-windows-file=window.yaml \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Einen Sicherungsplan für alle Namespaces mit einem RPO von 2 Stunden und mehreren Ausschlusszeiträumen erstellen

Erstellen Sie eine Datei window.yaml mit einem YAML-Array von exclusionWindows: ein Wochenfenster und ein einzelnes Vorkommen-Fenster.

exclusionWindows:
- startTime:
    hours: 15
    minutes: 0
  duration: "5400s"
  daysOfWeek:
    daysOfWeek:
    - MONDAY
    - FRIDAY
- startTime:
    hours: 1
    minutes: 0
  duration: "3600s"
  singleOccurrenceDate:
    day: 1
    month: 3
    year: 2024

Mit dem folgenden Befehl wird ein Sicherungsplan für alle Namespaces mit einem Ziel-RPO von 2 Stunden erstellt und am 1. März 2024 von 1:00 Uhr bis 2:00 Uhr und jeden Montag und Freitag von 15:00 Uhr bis 16:30 Uhr sind keine Sicherungen zulässig. Sicherungen werden sieben Tage lang aufbewahrt und nach der Erstellung drei Tage lang gesperrt:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --target-rpo-minutes=120 \
    --exclusion-windows-file=window.yaml \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Sicherungsplan für alle Namespaces mit einem täglichen Cron-Zeitplan erstellen

Der folgende Befehl erstellt einen Sicherungsplan, um die tägliche Sicherung für alle Namespaces um 5:20 Uhr täglich zu planen. Sicherungen werden sieben Tage lang aufbewahrt und nach der Erstellung drei Tage lang gesperrt:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="20 5 * * *" \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Sicherungsplan für einen ausgewählten Namespace mit einem stündlichen Cron-Zeitplan erstellen

Der folgende Befehl erstellt einen Sicherungsplan, um die stündliche Sicherung für den ausgewählten Namespace (my-ns) um Minute 15 jede Stunde zu planen. Sicherungen werden nach der Erstellung drei Tage lang aufbewahrt:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-namespaces=my-ns \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="15 * * * *" \
    --backup-retain-days=3

Sicherungsplan für eine ausgewählte ProtectedApplication erstellen

Der folgende Befehl erstellt einen Sicherungsplan, um die ProtectedApplication (my-ns/my-app) auszuwählen:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-applications=my-ns1/my-app1,my-ns2/my-app2 \
    --include-secrets \
    --include-volume-data

Console

Gehen Sie nach der folgenden Anleitung vor, um einen Sicherungsplan 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 Sicherungsplan erstellen.

  4. Führen Sie im Abschnitt Plandetails die folgenden Schritte aus:

    1. Wählen Sie den zu sichernden Cluster aus.
    2. Geben Sie den Namen des Sicherungsplans und eine optionale Beschreibung ein.
    3. Wählen Sie einen Standort für die Sicherung aus.
  5. Aktivieren Sie zum automatischen Erstellen von Sicherungen im Abschnitt Sicherungszeitplan das Kästchen Sicherungszeitplan aktivieren und wählen Sie eine der folgenden Methoden aus:

    1. Wählen Sie Intelligenter Zeitplan aus und gehen Sie so vor:

      1. In der Ziel-RPO geben Sie das RPO für den Sicherungsplan und wählen Sie dann den RPO-Wert in Minuten, Stunden oder Tage aus dem Drop-down-Menü aus.
      2. Optional: Klicken Sie das Kästchen Einzelnes wiederkehrendes Sicherungsausschlussfenster definieren für den Sicherungsausschluss an.
        1. Wählen Sie im Ausschlussfenster Täglich oder Wöchentlich aus.
        2. Wählen Sie im Abschnitt Wiederholung am aus, welche Wochentage aus dem Sicherungsplan ausgeschlossen werden sollen. Dieses Feld wird nur für das wöchentliche Ausschlussfenster angezeigt.
        3. Geben Sie im Feld Startzeit des Zeitfensters die Startzeit für den Ausschluss des Sicherungsplans ein.
        4. Geben Sie im Feld Dauer die Dauer des Ausschlusses für den Sicherungsplan ein und wählen Sie dann Sekunden, Minuten oder Stunden aus dem Drop-down-Menü.
      3. Optional: Wenn Sie ein oder mehrere Sicherungsausschlussfenster für ein einzelnes Vorkommen erstellen möchten, klicken Sie das Kästchen Mindestens ein Datum für den Sicherungsausschluss definieren an und gehen so vor:
        1. Klicken Sie auf Ausschlussdatum hinzufügen.
        2. Klicken Sie im Feld Startdatum und -zeit für das Ausschlussfenster auf das Symbol und wählen Sie dann Datum und Uhrzeit für die Sicherungen.
        3. Geben Sie im Feld Dauer die Dauer des Ausschlusses für den Sicherungsplan ein und wählen Sie dann Sekunden, Minuten oder Stunden aus dem Drop-down-Menü.
    2. Wählen Sie Cron-Zeitplan aus und geben Sie einen CRON-Ausdruck mit der Standardsyntax cron ein. Beispiel: 10 3 * * * erstellt täglich eine Sicherung um 03:10 Uhr. Das Mindestintervall zwischen geplanten Sicherungen beträgt 10 Minuten.

  6. Führen Sie im Abschnitt Aufbewahrungsrichtlinie folgende Schritte aus:

    1. Legen Sie fest, wie viele Tage die Sicherung aufbewahrt werden soll, bevor sie automatisch gelöscht wird.
    2. Legen Sie die Anzahl der Tage fest, an denen Sicherungen nicht gelöscht werden können.
    3. Klicken Sie zum Sperren der Aufbewahrungsrichtlinie auf das Sperrsymbol, um die Sperre zu aktivieren (von Aus zu Ein).
  7. Führen Sie im Abschnitt Sicherungsbereich und Verschlüsselung konfigurieren folgende Schritte aus:

    1. Wählen Sie den Bereich für den Sicherungsplan aus:

      • Klicken Sie auf Gesamter Cluster (einschließlich aller Namespaces), um alle Namespace-Ressourcen in der Sicherung zu sichern.
      • Klicken Sie auf Ausgewählte Namespaces in diesem Cluster, um die Namespaces auszuwählen, die Sie in den Sicherungsplan aufnehmen möchten.
      • Klicken Sie auf Ausgewählte geschützte Anwendungen in diesem Cluster, um Ressourcen durch Angabe von Namespace und Anwendungsnamen hinzuzufügen.
    2. Klicken Sie auf das Kästchen Secrets einschließen, um Kubernetes-Secret-Ressourcen einzuschließen.

    3. Klicken Sie auf das Kästchen Daten aus nichtflüchtigen Volumes, wenn Sie die Volume-Daten in Ihrer Sicherung speichern möchten. Wenn Sie Volume-Daten überspringen, können Sie Volume-Daten während der Wiederherstellung nicht wiederherstellen. Sie haben jedoch zwei Möglichkeiten, Volume-Daten bei der Wiederherstellung auszuwählen: Neue Volumes bereitstellen oder Vorhandene Volumes wiederverwenden.

    4. Zum Aktivieren der CMEK-Verschlüsselung müssen Sie zuerst den Zugriff auf die entsprechenden CMEK-Schlüssel gewähren. Siehe Informationen zur CMEK-Verschlüsselung.

      1. Klicken Sie auf das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel verwenden, um einen Schlüssel auszuwählen.
  8. Prüfen Sie die Details des Sicherungsplans und klicken Sie auf Plan erstellen.

Terraform

google_gke_backup_backup_plan-Ressource erstellen

resource "google_gke_backup_backup_plan" "basic" {
   name = "BACKUP_PLAN"
   cluster = google_container_cluster.CLUSTER.id
   location = "LOCATION"
   retention_policy {
     backup_retain_days = 7
   }
   backup_schedule {
     cron_schedule = "17 3 * * *"
   }
   backup_config {
     include_volume_data = true
     include_secrets = true
     all_namespaces = true
   }
}

Ersetzen Sie Folgendes:

  • BACKUP_PLAN: der Name des Sicherungsplans, den Sie erstellen möchten.
  • CLUSTER: der Name Ihrer google_container_cluster-Ressource.
  • LOCATION: die Region, in der Sie die Sicherungen speichern möchten.

Weitere Informationen finden Sie unter gke_backup_backup_plan.

Sicherungsplan ansehen

Rufen Sie einen Sicherungsplan und seine Details mithilfe der gcloud CLI oder der Google Cloud Console auf.

gcloud

Führen Sie den folgenden Befehl aus, um alle Sicherungspläne innerhalb des Projekts und der Region aufzulisten:

gcloud beta container backup-restore backup-plans list \
    --project=PROJECT_ID \
    --location=LOCATION

Nur für list-Befehle können Sie - als Wert für alle Parameter außer PROJECT_ID angeben. Der Wert - fungiert als Platzhalter. Der Wert - ist die Standardeinstellung für jeden Parameter, wenn Sie keine Befehlszeilenoption angeben oder kein Attribut festlegen.

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

Führen Sie den folgenden Befehl aus, um die Details eines Sicherungsplans aufzurufen:

gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
     --project=PROJECT_ID \
     --location=LOCATION

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

Console

Gehen Sie nach der folgenden Anleitung vor, um einen Sicherungsplan in der Google Cloud Console aufzurufen:

  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 Sicherungspläne.

  4. Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.

  5. Klicken Sie auf den Tab Details, um die Plandetails aufzurufen.

Sicherungsplan aktualisieren

Aktualisieren Sie einen Sicherungsplan mithilfe der gcloud CLI oder der Google Cloud Console.

gcloud

Führen Sie den folgenden Befehl aus, um einen Sicherungsplan zu aktualisieren, indem Sie beispielsweise eine neue Beschreibung hinzufügen:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --description=DESCRIPTION

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

Console

Gehen Sie nach der folgenden Anleitung vor, um einen Sicherungsplan 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 Sicherungspläne.

  4. Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.

  5. Klicken Sie auf den Tab Details, um die Plandetails zu bearbeiten.

  6. Klicken Sie auf Bearbeiten, um einen Planabschnitt zu bearbeiten, und klicken Sie auf Änderungen speichern.

Sicherungszeitplan pausieren

Sie können Ihren Sicherungszeitplan pausieren. Während der Zeitplan pausiert ist, werden keine automatischen Sicherungen erstellt. Sie können Sicherungen weiterhin manuell erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um einen Sicherungszeitplan zu pausieren:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --paused

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

Console

Gehen Sie nach der folgenden Anleitung vor, um einen Sicherungszeitplan in der Google Cloud Console zu pausieren:

  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 Sicherungspläne.

  4. Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.

  5. Klicken Sie auf Zeitplan pausieren und dann im Bestätigungsdialogfeld auf Zeitplan pausieren.

Sicherungsplan löschen

Sie können einen Aktualisierungsplan mithilfe der gcloud CLI oder der Google Cloud Console löschen. Sie können einen Sicherungsplan nicht löschen, wenn er Sicherungen enthält.

gcloud

Führen Sie den folgenden Befehl aus, um einen Sicherungsplan zu löschen:

gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION

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

Console

Folgen Sie der Anleitung unten, um einen Sicherungsplan in der Google Cloud Console zu löschen:

  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 Sicherungspläne.

  4. Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.

  5. Klicken Sie auf Plan löschen.

  6. Geben Sie den Namen des Sicherungsplans ein und klicken Sie im Bestätigungsdialogfeld auf Sicherungsplan löschen.

Nächste Schritte