Ripristino in un'unica area geografica

In questa pagina viene descritto come ripristinare Cassandra in una singola area geografica.

In un'unica area geografica, il deployment di Apigee ibrido viene eseguito in un singolo data center o in una singola area geografica. Se nel tuo deployment sono presenti più organizzazioni Apigee, il processo di ripristino ripristina i dati di tutte le organizzazioni. In una configurazione con più organizzazioni non è possibile ripristinare un'organizzazione specifica.

Prima di iniziare

Prima di iniziare il ripristino di Cassandra, tieni presente quanto segue:
  • Elimina l'installazione ibrida di Apigee da tutti i cluster o le aree geografiche esistenti, inclusi cert-manager e Anthos Service Mesh (ASM).
  • Installa cert-manager e ASM come faresti per una nuova installazione ibrida di Apigee. Inoltre, assicurati che il gestore di certificati e ASM appena installati siano della stessa versione dell'installazione ibrida originale.
  • Se vuoi mantenere una configurazione esistente per la risoluzione dei problemi e l'analisi delle cause principali (RCA), elimina tutti i componenti org e env dal cluster Kubernetes, eccetto il controller Apigee, quindi mantieni il cluster. Il cluster avrà l'attuale datastore Apigee (Cassandra), che puoi utilizzare per la risoluzione dei problemi. Successivamente, crea un nuovo cluster Kubernetes e poi ripristina Cassandra nel nuovo cluster.
  • Se la tua installazione ibrida è stata configurata con più organizzazioni, ottieni i file di override per ogni organizzazione prima di continuare. Dopodiché aggiungi la configurazione di ripristino come descritto nel passaggio 3 a uno qualsiasi dei file di override. Non aggiungere la configurazione di ripristino a nessun altro file di sostituzione.

Ripristino di un'area geografica da un backup

A seconda della configurazione, il backup di Cassandra può trovarsi su Cloud Storage o su un server remoto. Indipendentemente da dove si trova il backup, procedi nel seguente modo per ripristinare:
  1. Verifica la versione ibrida.
    apigeectl version
    Assicurati che la versione sia la stessa che ha creato i file di backup nello spazio di archiviazione.
  2. Assicurati che nel cluster Kubernetes in cui stai ripristinando non sia presente alcuna precedente installazione ibrida di Apigee.
  3. Apri il file overrides.yaml e imposta la proprietà di ripristino snapshotTimestamp sul timestamp di backup che preferisci.

    Parametri

        namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster.
        cassandra:
          ...
          restore:
            snapshotTimestamp: TIMESTAMP
          ...
    

    Esempio

        ...
    
        namespace: apigee
    
        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"
    
          restore:
            snapshotTimestamp: "20210203213003"
    
        ...
    

    Dove:

    Proprietà Descrizione
    namespace

    YOUR_RESTORE_NAMESPACE

    Spazio dei nomi per il ripristino. Utilizza lo spazio dei nomi come nel cluster originale.

    restore:snapshotTimestamp

    TIMESTAMP

    Il timestamp dell'istantanea di backup da ripristinare. Per verificare quali timestamp possono essere utilizzati, vai a dbStorageBucket e controlla i file presenti nel bucket. Ogni nome di file contiene un valore di timestamp. Ad esempio, backup_20210203213003_apigee-cassandra-default-0.tgz

    Dove 20210203213003 è il valore snapshotTimestamp che utilizzeresti se volessi ripristinare i backup creati in quel momento.

  4. Crea un nuovo deployment di runtime ibrido. Verrà creato un nuovo cluster Cassandra e inizierà il ripristino dei dati di backup nel cluster:
    ${APIGEECTL_HOME}/apigeectl init  -f overrides/overrides.yaml
    ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml
    ${APIGEECTL_HOME}/apigeectl apply -f overrides/overrides.yaml --restore
    ${APIGEECTL_HOME}/apigeectl check-ready -f overrides/overrides.yaml
  5. Verifica l'avanzamento del job di ripristino:

    kubectl get apigeeds -n apigee
    

    Assicurati che apigeeds e tutti gli altri pod siano attivi.