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
- Regionale Cluster:
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 alsNAMESPACE1/APP1,NAMESPACE2/APP2,...
zur Sicherung.--selected-namespaces
durch eine Liste von Namespaces alsNAMESPACE1,NAMESPACE2,...
für die Sicherung.
Beim Erstellen eines Sicherungsplans müssen Sie eine dieser Optionen angeben.
--include-secrets
: ein optionales Argument zum Einbinden vonSecret
-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, wennEXCLUSION_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önnenTARGET_RPO_MINUTES
undCRON_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, wennTARGET_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önnenCRON_SCHEDULE
undTARGET_RPO_MINUTES
nicht gleichzeitig in einem Sicherungsplan festlegen.RETAIN_DAYS
: erforderliches Argument, wennTARGET_RPO_MINUTES
oderCRON_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:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf Sicherungsplan erstellen.
Geben Sie im Abschnitt Plandetails Folgendes an:
- Wählen Sie den zu sichernden Cluster aus.
- Geben Sie den Namen des Sicherungsplans und eine optionale Beschreibung ein.
- Wählen Sie einen Standort für die Sicherung aus.
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:
Wählen Sie Intelligenter Zeitplan aus und gehen Sie so vor:
- 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.
- Optional: Klicken Sie für den Sicherungsausschluss das Kästchen Einzelnes wiederkehrendes Sicherungsausschlussfenster definieren an.
- Wählen Sie im Fenster für Ausschlüsse die Option Täglich oder Wöchentlich aus.
- 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.
- Geben Sie im Feld Beginn des Ausschlussfensters die Startzeit für den Ausschluss aus dem Sicherungszeitplan ein.
- 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.
- 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:
- Klicken Sie auf Ausschlussdatum hinzufügen.
- 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.
- 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.
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.
Führen Sie im Abschnitt Aufbewahrungsrichtlinie folgende Schritte aus:
- Legen Sie fest, wie viele Tage die Sicherung aufbewahrt werden soll, bevor sie automatisch gelöscht wird.
- Legen Sie die Anzahl der Tage fest, an denen Sicherungen nicht gelöscht werden können.
- Klicken Sie zum Sperren der Aufbewahrungsrichtlinie auf das Sperrsymbol, um die Sperre zu aktivieren (von Aus zu Ein).
Führen Sie im Abschnitt Sicherungsbereich und Verschlüsselung konfigurieren die folgenden Schritte aus:
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.
Klicken Sie auf das Kästchen Secrets einschließen, um Kubernetes-Secret-Ressourcen einzuschließen.
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.
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.
- Klicken Sie auf das Kästchen Vom Kunden verwalteten Verschlüsselungsschlüssel verwenden, um einen Schlüssel auszuwählen.
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 Ihrergoogle_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:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf den Tab Sicherungspläne.
Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.
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:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf den Tab Sicherungspläne.
Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.
Klicken Sie auf den Tab Details, um die Plandetails zu bearbeiten.
Klicken Sie auf edit 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:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf den Tab Sicherungspläne.
Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.
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:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie im Navigationsmenü auf Sicherung für GKE.
Klicken Sie auf den Tab Sicherungspläne.
Maximieren Sie den Cluster und klicken Sie auf den Namen des Plans.
Klicken Sie auf delete Plan löschen.
Geben Sie den Namen des Sicherungsplans ein und klicken Sie im Bestätigungsdialogfeld auf Sicherungsplan löschen.