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
eenv
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:- Verifica la versione ibrida.
apigeectl version
Assicurati che la versione sia la stessa che ha creato i file di backup nello spazio di archiviazione. - Assicurati che nel cluster Kubernetes in cui stai ripristinando non sia presente alcuna precedente installazione ibrida di Apigee.
- Apri il file
overrides.yaml
e imposta la proprietà di ripristinosnapshotTimestamp
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. - 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
-
Verifica l'avanzamento del job di ripristino:
kubectl get apigeeds -n apigee
Assicurati che
apigeeds
e tutti gli altri pod siano attivi.