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 für Ihren Sicherungsplan eine intelligente Planung. So werden automatisch Sicherungen erstellt, die die Anforderungen des Wiederherstellungspunktziels (RPO) erfüllen. Weitere Informationen finden Sie unter Automatisches Erstellen und Löschen von Sicherungen.

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 für diesen 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 auf Projekte, Ordner und Organisationen 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 Einbinden von Secret-Ressourcen, wenn sie im Bereich der Sicherung liegen.

  • --include-volume-data: ein optionales Argument zum Einbinden von Daten von 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 zum Definieren des Pfads zu einem vom Kunden verwalteten Verschlüsselungsschlüssel. Weitere Informationen finden Sie unter Informationen zur CMEK-Verschlüsselung.

  • TARGET_RPO_MINUTES: Erforderliches Argument, wenn EXCLUSION_WINDOWS_FILE festgelegt ist. Geben Sie den Ziel-RPO in Minuten an. Die intelligente Planung verwendet diesen Wert, um automatisch Sicherungen zu erstellen. Die Mindestdauer beträgt 60 Minuten (1 Stunde) und die Höchstdauer 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 Sicherungen durchgeführt werden können. 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.

Sicherungsplan für alle Namespaces mit einem RPO von 24 Stunden und einem einzelnen Ausschlussfenster erstellen

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

Mit dem folgenden Befehl wird ein Sicherungsplan für alle Namespaces mit einem Ziel-RPO von 24 Stunden erstellt. Am 1. März 2024 sind von 1:00 Uhr bis 2:00 Uhr 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=1440 \
    --exclusion-windows-file=window.yaml \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Sicherungsplan für alle Namespaces mit einem RPO von 2 Stunden und mehreren Ausschlussfenstern erstellen

Erstellen Sie eine window.yaml-Datei, die ein YAML-Array von exclusionWindows enthält: ein wöchentliches Fenster und ein einzelnes Zeitfenster für das Vorkommen.

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 stündlichem 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. Geben Sie im Abschnitt Plandetails Folgendes an:

    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. Wenn Sie Sicherungen automatisch erstellen möchten, klicken Sie im Bereich Sicherungszeitplan das Kästchen Sicherungszeitplan aktivieren an und wählen Sie dann 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 für den Sicherungsausschluss das Kästchen Einzelnes wiederkehrendes Sicherungsausschlussfenster definieren an.
        1. Wählen Sie im Fenster für Ausschlüsse die Option Täglich oder Wöchentlich aus.
        2. Wählen Sie im Abschnitt Wiederholung am aus, an welchen Wochentagen die Elemente aus dem Sicherungsplan ausgeschlossen werden sollen. Dieses Feld wird nur für den wöchentlichen Ausschlusszeitraum angezeigt.
        3. Geben Sie im Feld Beginn des Ausschlussfensters die Startzeit für den Ausschluss aus dem Sicherungszeitplan ein.
        4. Geben Sie im Feld Dauer die Dauer des Ausschlusses aus dem Sicherungsplan ein und wählen Sie dann im Drop-down-Menü Sekunden, Minuten oder Stunden aus.
      3. Optional: Wenn Sie ein oder mehrere Zeitfenster für Sicherungsausschlusse mit nur einem Ereignis erstellen möchten, setzen Sie ein Häkchen in das Kästchen Ein oder mehrere Datumsangaben für Sicherungsausschlusse definieren und führen Sie die folgenden Schritte aus:
        1. Klicken Sie auf Ausschlussdatum hinzufügen.
        2. Klicken Sie im Feld Startdatum und -zeit für Ausschlussfenster auf das Symbol und wählen Sie Datum und Uhrzeit für die Sicherungen aus.
        3. Geben Sie im Feld Dauer die Dauer des Ausschlusses aus dem Sicherungsplan ein und wählen Sie dann im Drop-down-Menü Sekunden, Minuten oder Stunden aus.
    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 die folgenden 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 sie 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

So rufen Sie einen Sicherungsplan in der Google Cloud Console auf:

  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

Sie können die Informationen zum Sicherungsplan aktualisieren, z. B. Beschreibung, Sicherungsbereich, Sicherungsmodus, Verschlüsselung oder Sicherungszeitplan. Sie können auch die Aufbewahrungsrichtlinie des Sicherungsplans ändern, z. B. wie lange die Sicherungen aufbewahrt werden sollen oder in welchem Zeitraum Sicherungen nicht gelöscht werden können.

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 so 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

So pausieren Sie einen Sicherungszeitplan in der Google Cloud Console:

  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

So löschen Sie einen Sicherungsplan in der Google Cloud Console:

  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