Pianificare i backup in Cloud Storage

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:

  1. Esegui questo comando create-service-account per creare un account di servizio Google Cloud con il ruolo standard roles/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 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.

  2. Il comando create-service-account salva 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.
  3. Crea un bucket Cloud Storage. Specifica un criterio di conservazione ragionevole per il bucket. Apigee consiglia una policy di conservazione dei dati di 15 giorni.
  4. Apri il file overrides.yaml.
  5. Aggiungi le seguenti proprietà cassandra.backup per attivare il backup. Non rimuovere nessuna delle 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"
          
    
    
        ... 
  6. Dove:
    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 scaricato quando hai eseguito il comando create-service-account.

    Il percorso deve essere relativo alla directory del grafico apigee-datastore. Ad esempio, serviceAccountPath: myproject-apigee-cassandra.json.

    backup:dbStorageBucket

    CLOUD_STORAGE_BUCKET_NAME

    Il nome di un bucket Google Cloud Storage esistente che verrà utilizzato per archiviare gli archivi di backup. Consulta Creazione di bucket se devi crearne uno.

    backup:cloudProvider

    GCP/HYBRID

    Per un backup Cloud Storage, imposta la proprietà su GCP. Ad esempio, cloudProvider: "GCP".

    Per un backup del server remoto, imposta la proprietà su HYBRID. Ad esempio, cloudProvider: "HYBRID".

    backup:schedule

    BACKUP_SCHEDULE_CODE

    L'ora di inizio del backup, specificata nella sintassi standard di crontab. Valore predefinito: 0 2 * * *

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

  8. 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

Avviare 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