Questa pagina descrive come pianificare i backup di Cassandra in Cloud Storage. In questo metodo, i backup vengono archiviati nel bucket Cloud Storage specificato.
Per pianificare i backup di Cassandra, svolgi i seguenti passaggi:
- Esegui il seguente comando
create-service-account
per creare un account di servizio (SA) 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-prod
da utilizzare in ambienti di non produzione e colloca il file della chiave scaricato nella directory./
.Per ulteriori informazioni sugli account di servizio Google Cloud, consulta Creare e gestire gli account di servizio.
- Il comando
create-service-account
salva un file JSON contenente la chiave privata dell'account di servizio. Il file viene salvato nella stessa directory in cui viene eseguito il comando. Ti servirà il 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 norma di conservazione dei dati di 15 giorni.
- Apri il file
overrides.yaml
. - Aggiungi le seguenti proprietà
cassandra.backup
per attivare il backup. Non rimuovere le proprietà già configurate.Parametri
cassandra: ... backup: enabled: true serviceAccountPath: SA_JSON_FILE_PATH dbStorageBucket: CLOUD_STORAGE_BUCKET_NAME schedule: BACKUP_SCHEDULE_CODE cloudProvider: "GCP" # For remote server backup set this to HYBRID (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: "my-cassandra-backup-sa.json" dbStorageBucket: "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 delle sostituzioni 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 al file JSON dell'account di servizio
scaricato quando
hai eseguito il comando Il percorso deve essere relativo alla directory del grafico apigee-datastore. Ad esempio, |
backup:dbStorageBucket |
CLOUD_STORAGE_BUCKET_NAME Il nome di un bucket Google Cloud Storage esistente che verrà utilizzato per archiviare i backup. Consulta Creare bucket se devi crearne uno. |
backup:cloudProvider |
Per un backup di Cloud Storage, imposta la proprietà su Per un backup del server remoto, imposta la proprietà su |
backup:schedule |
BACKUP_SCHEDULE_CODE L'ora di inizio del backup, specificata in
sintassi crontab standard. Valore predefinito: |
Avvia un backup manuale
I backup di Cassandra vengono generati automaticamente in base alla pianificazione cron impostata nel file overrides.yaml
.
Per avviare un backup manuale, utilizza questo comando:
kubectl create job -n APIGEE_NAMESPACE --from=cronjob/apigee-cassandra-backup BACKUP_POD_NAME