Pianificare i backup in Cloud Storage

Questa pagina descrive come pianificare i backup di Cassandra in Cloud Storage. Con questo metodo, i backup vengono archiviati nel bucket Cloud Storage specificato.

Per pianificare i backup di Cassandra:

  1. Esegui questo create-service-account per creare un account di servizio Google Cloud (SA) con il comando 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 per l'utilizzo in ambienti non di produzione e il file della chiave scaricato viene inserito nell'elenco ./ .

    Per ulteriori informazioni sugli account di servizio Google Cloud, consulta Creare e gestire gli account di servizio.

  2. Il comando create-service-account salva un file JSON contenente 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 seguenti.
  3. Crea un bucket Cloud Storage. Specifica un criterio di conservazione dei dati ragionevole per il bucket. Apigee consiglia un criterio di conservazione dei dati di 15 giorni.
  4. Apri il file overrides.yaml.
  5. Aggiungi le seguenti proprietà di cassandra.backup per abilitare il backup. Non rimuovere le proprietà già configurate.

    Parametri

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

    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"
          
    
    
        ... 
  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 sul tuo file system all'account di servizio il file JSON scaricato quando hai eseguito ha eseguito il comando ./tools/create-service-account.

    Puoi anche fornire un percorso file relativo. Il percorso sarà relativo alla directory hybrid-base-directory/hybrid-files.

    backup:dbStorageBucket

    CLOUD_STORAGE_BUCKET_PATH

    Il percorso del bucket Cloud Storage in questo formato: gs://BUCKET_NAME. L'attributo gs:// è obbligatorio.

    backup:cloudProvider

    GCP/HYBRID

    Per un backup di 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 in sintassi crontab standard. Predefinita: 0 2 * * *

  7. Applica le modifiche alla configurazione al nuovo cluster. Ad esempio:
    helm upgrade datastore apigee-datastore/ \
      --namespace apigee \
      --atomic \
      -f OVERRIDES_FILE.yaml
    

    Dove OVERRIDES_FILE è il percorso del file degli override che hai appena modificato.

  8. Verifica il job di backup. Ad esempio:
    kubectl get cronjob -n apigee
      NAME                      SCHEDULE     SUSPEND   ACTIVE   LAST SCHEDULE   AGE
      apigee-cassandra-backup   33 * * * *   False     0        <none>          94s