Auf dieser Seite wird beschrieben, wie Sie Sicherungen für Cassandra in Cloud Storage planen können. Bei dieser Methode werden Sicherungen im angegebenen Cloud Storage-Bucket gespeichert.
Führen Sie die folgenden Schritte aus, um Cassandra-Backups zu planen:
- Führen Sie den folgenden Befehl
create-service-account
aus, um ein Google Cloud-Dienstkonto (Service Account, SA) mit der Standardrolleroles/storage.objectAdmin
zu erstellen. Mit dieser SA-Rolle können Sie Backupdaten in Cloud Storage schreiben. Führen Sie den folgenden Befehl im Verzeichnishybrid-base-directory/hybrid-files
aus: Mit diesem Befehl wird ein einzelnes Dienstkonto mit dem Namen./tools/create-service-account --env non-prod --dir ./service-accounts
apigee-non-prod
für die Verwendung in einer Nicht-Produktionsumgebung erstellt und die heruntergeladene Schlüsseldatei im Verzeichnis./service-accounts
abgelegt. Weitere Informationen zu Google Cloud-Dienstkonten finden Sie unter Dienstkonten erstellen und verwalten. - Mit dem Befehl
create-service-account
wird eine JSON-Datei mit dem privaten Schlüssel des Dienstkontos gespeichert. Die Datei wird im selben Verzeichnis gespeichert, in dem der Befehl ausgeführt wird. Sie benötigen den Pfad zu dieser Datei in den folgenden Schritten. - Cloud Storage-Bucket erstellen Legen Sie für den Bucket eine angemessene Aufbewahrungsrichtliniefür Daten fest. Apigee empfiehlt eine Datenaufbewahrungszeit von 15 Tagen.
- Öffnen Sie Ihre
overrides.yaml
-Datei. - Fügen Sie folgende
cassandra.backup
-Attribute hinzu, um das Backup zu aktivieren. Entfernen Sie keine der bereits konfigurierten Attribute.Parameter
cassandra: ... backup: enabled: true serviceAccountPath: SA_JSON_FILE_PATH dbStorageBucket: CLOUD_STORAGE_BUCKET_PATH schedule: BACKUP_SCHEDULE_CODE cloudProvider: "GCP" # For remote server backup set this to HYBRID (all caps) ...
Beispiel
... cassandra: storage: type: gcepd capacity: 50Gi gcepd: replicationType: regional-pd auth: default: password: "abc123" admin: password: "abc234" ddl: password: "abc345" dml: password: "abc456" nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-data backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my-cassandra-backup-sa.json" dbStorageBucket: "gs://myname-cassandra-backup" schedule: "45 23 * * 6" cloudProvider: "GCP" ...
Wobei: - Wenden Sie die Konfigurationsänderungen auf den neuen Cluster an. Beispiel:
$APIGEECTL_HOME/apigeectl apply --datastore -f YOUR_OVERRIDES_FILE
Dabei ist YOUR_OVERRIDES_FILE der Pfad zu der Überschreibungsdatei, die Sie gerade bearbeitet haben.
- Überprüfen Sie den Sicherungsjob. Beispiel:
kubectl get cronjob -n apigee
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
Attribut | Beschreibung |
---|---|
backup:enabled |
Die Sicherung ist standardmäßig deaktiviert. Sie müssen dieses Attribut auf true festlegen. |
backup:serviceAccountPath |
SA_JSON_FILE_PATH Der Pfad in Ihrem Dateisystem zur JSON-Datei des Dienstkontos, die beim Ausführen des Befehls Sie können auch einen relativen Dateipfad angeben. Der Pfad bezieht sich auf das Verzeichnis |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH Der Cloud Storage-Bucket-Pfad im Format |
backup:cloudProvider |
Legen Sie für eine Cloud Storage-Sicherung das Attribut auf Legen Sie für eine Remote-Serversicherung das Attribut |
backup:schedule |
BACKUP_SCHEDULE_CODE Die Zeit, zu der das Backup startet, angegeben in der Standard-Crontab-Syntax. Standard: |