Questa pagina descrive come pianificare i backup per Cassandra in Cloud Storage. In questo metodo, i backup vengono archiviati nel bucket Cloud Storage specificato.
Per pianificare i backup di Cassandra, segui questi passaggi:
- Esegui questo comando
create-service-accountper creare un account di servizio Google Cloud con il ruolo standardroles/storage.objectAdmin. Questo ruolo SA ti consente di scrivere i dati di backup in Cloud Storage. Esegui il comando nella directory$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/../tools/create-service-account --env non-prod --dir ./
Questo comando crea un singolo account di servizio denominato
apigee-non-prodda utilizzare in ambienti non di produzione e inserisce il file della chiave scaricato nella directory./.Per ulteriori informazioni sui service account Google Cloud, vedi Creazione e gestione dei service account.
- Il comando
create-service-accountsalva un file JSON contenente la chiave privata delaccount di serviziot. Il file viene salvato nella stessa directory in cui viene eseguito il comando. Avrai bisogno del percorso di questo file nei passaggi successivi. - Crea un bucket Cloud Storage. Specifica un criterio di conservazione dei dati ragionevole per il bucket. Apigee consiglia una policy di conservazione dei dati di 15 giorni.
- Apri il file
overrides.yaml. - Aggiungi le seguenti proprietà
cassandra.backupper attivare il backup. Non rimuovere nessuna delle proprietà già configurate.Parametri
cassandra: ... backup: enabled: true serviceAccountPath: SA_JSON_FILE_PATH dbStorageBucket: CLOUD_STORAGE_BUCKET_PATH schedule: BACKUP_SCHEDULE_CODE cloudProvider: "GCP" # required verbatim "GCP" (all caps) ...Esempio
... 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" ...
Dove:
- Applica le modifiche alla configurazione al nuovo cluster. Ad esempio:
helm upgrade datastore apigee-datastore/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
Dove OVERRIDES_FILE è il percorso del file di override che hai appena modificato.
- Verifica il job di backup. Ad esempio:
kubectl get cronjob -n APIGEE_NAMESPACE
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE apigee-cassandra-backup 33 * * * * False 0 <none> 94s
| Proprietà | Descrizione |
|---|---|
backup:enabled |
Il backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true. |
backup:serviceAccountPath |
SA_JSON_FILE_PATH Il percorso nel file system del file JSON dell'account di servizio
che è stato scaricato quando hai
eseguito il comando Il percorso deve essere relativo alla directory del grafico apigee-datastore. Ad esempio, |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_PATH Il percorso del bucket Cloud Storage in questo formato: |
backup:cloudProvider |
Per un backup in Cloud Storage, imposta la proprietà su |
backup:schedule |
BACKUP_SCHEDULE_CODE L'ora di inizio del backup, specificata nella
sintassi standard di crontab. Valore predefinito: |
Avviare un backup manuale
I job di backup vengono attivati automaticamente in base alla pianificazione cron impostata in
cassandra.backup.schedule nel file
overrides.yaml. Tuttavia, se necessario, puoi avviare manualmente un job di backup
utilizzando il seguente comando:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup MANUAL_BACKUP_JOB_NAME
Dove MANUAL_BACKUP_JOB_NAME è il nome di un job di backup manuale da creare.