Questa pagina descrive come ripristinare Cassandra in una singola regione.
In un deployment in una singola regione, Apigee Hybrid viene eseguito il deployment in un singolo data center o in una regione. Se nel deployment sono presenti più organizzazioni Apigee, la procedura di ripristino ripristina i dati di tutte le organizzazioni. In una configurazione multi-organizzazione, non puoi ripristinare un'organizzazione specifica.
Ripristino di una regione da un backup
Nella configurazione, il backup di Cassandra può risiedere in Cloud Storage o su un server remoto. In entrambi i casi, segui questi passaggi per il ripristino:
- Verifica la versione ibrida.
Assicurati che la versione sia la stessa che ha creato i file di backup nello spazio di archiviazione.apigeectl version
- Verifica che il cluster Kubernetes a cui stai eseguendo il ripristino non abbia un'installazione precedente di Apigee Hybrid. Se
esegui il ripristino nel cluster esistente, utilizza i seguenti comandi per eliminare l'installazione
ibrida di Apigee esistente:
apigeectl delete -f overrides.yamlkubectl -n apigee get apigeedatastore,apigeeredis,apigeetelemetry,org,env,arc # The output should be empty.apigeectl delete --all -f overrides.yaml - Apri il file
overrides.yamle imposta le proprietàrestoresui valori desiderati:Cloud Storage
Parametri
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true serviceAccountPath: "SA_JSON_FILE_PATH" dbStorageBucket: "CLOUD_STORAGE_BUCKET_PATH" cloudProvider: "GCP" # required verbatim "GCP" (all caps) schedule: "SCHEDULE"
Esempio
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" snapshotTimestamp: "20201001183903" ... backup: enabled: true serviceAccountPath: "/Users/myhome/.ssh/my_cassandra_backup.json" dbStorageBucket: "gs://myname-cassandra-backup" cloudProvider: "GCP" schedule: "0 2 * * *" ...
Dove:
Proprietà Descrizione namespaceYOUR_RESTORE_NAMESPACE
Spazio dei nomi per il ripristino. Utilizza lo spazio dei nomi come nel cluster originale.
cassandra:hostNetworkhostNetworkè obbligatorio e deve essere sempre impostato sufalse.restore:enabledIl ripristino è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.restore:serviceAccountPathSA_JSON_FILE_PATH
Il percorso nel file system dell'account di servizio che hai creato per il backup.
restore:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Il percorso del bucket Cloud Storage in cui sono memorizzati i dati di backup nel seguente formato:
gs://BUCKET_NAME. Il campogs://è obbligatorio.restore:cloudProviderGCPLa proprietà
cloudProvider: "GCP"è obbligatoria.restore:snapshotTimestampTIMESTAMP
Il timestamp dello snapshot di backup da ripristinare. Per verificare quali timestamp possono essere utilizzati, vai a
dbStorageBuckete guarda i file presenti nel bucket. Ogni nome file contiene un valore timestamp. Ad esempio,backup_20210203213003_apigee-cassandra-default-0.tgzDove 20210203213003 è il valore
snapshotTimestampche utilizzeresti se volessi ripristinare i backup creati in quel momento.backup:enabledIl backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.backup:serviceAccountPathSA_JSON_FILE_PATH
Il percorso nel file system del file JSON dell'account di servizio che è stato scaricato quando hai eseguito
./tools/create-service-accountbackup:dbStorageBucketCLOUD_STORAGE_BUCKET_PATH
Il percorso del bucket Cloud Storage in questo formato:
gs://BUCKET_NAME. Il campogs://è obbligatorio.backup:cloudProviderGCPLa proprietà
cloudProvider: "GCP"è obbligatoria.backup:scheduleSCHEDULE
L'ora di inizio del backup, specificata nella sintassi standard di crontab. Valore predefinito:
0 2 * * *Spazio di archiviazione non sul cloud
Parametri
namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster. cassandra: hostNetwork: false ... restore: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) snapshotTimestamp: "TIMESTAMP" ... backup: enabled: true keyFile: "PATH_TO_PRIVATE_KEY_FILE" server: "BACKUP_SERVER_IP" storageDirectory: "/home/apigee/BACKUP_DIRECTORY" cloudProvider: "HYBRID" # required verbatim "HYBRID" (all caps) schedule: "SCHEDULE"
Esempio
namespace: apigee cassandra: hostNetwork: false ... restore: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" snapshotTimestamp: "20201001183903" ... backup: enabled: true keyFile: "/Users/exampleuser/apigee-hybrid/hybrid-files/service-accounts/private.key" server: "34.56.78.90" storageDirectory: "/home/apigee/cassbackup" cloudProvider: "HYBRID" schedule: "0 2 * * *" ...
Dove:
Proprietà Descrizione namespaceYOUR_RESTORE_NAMESPACE
Spazio dei nomi per il ripristino. Utilizza lo spazio dei nomi come nel cluster originale.
cassandra:hostNetworkhostNetworkè obbligatorio e deve essere sempre impostato sufalse.restore:enabledIl ripristino è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.restore:keyFilePATH_TO_PRIVATE_KEY_FILE
Il percorso nel file system locale del file della chiave privata SSH (denominato
ssh_keynel passaggio in cui hai creato la coppia di chiavi SSH).restore:serverBACKUP_SERVER_IP
L'indirizzo IP del server di backup.
restore:storageDirectoryBACKUP_DIRECTORY
Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di
home/apigee(la directory di backup è denominatacassandra_backupnel passaggio in cui hai creato la directory di backup).restore:cloudProviderHYBRIDLa proprietà
cloudProvider: "HYBRID"è obbligatoria.restore:snapshotTimestampTIMESTAMP
Il timestamp dello snapshot di backup da ripristinare. Per verificare quali timestamp possono essere utilizzati, vai a
dbStorageBuckete guarda i file presenti nel bucket. Ogni nome file contiene un valore timestamp. Ad esempio,backup_20210203213003_apigee-cassandra-default-0.tgzDove 20210203213003 è il valore
snapshotTimestampche utilizzeresti se volessi ripristinare i backup creati in quel momento.backup:enabledIl backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.backup:keyFilePATH_TO_PRIVATE_KEY_FILE
Il percorso nel file system locale del file della chiave privata SSH (denominato
ssh_keynel passaggio in cui hai creato la coppia di chiavi SSH).backup:serverBACKUP_SERVER_IP
L'indirizzo IP del server di backup.
backup:storageDirectoryBACKUP_DIRECTORY
Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di
home/apigee(la directory di backup è denominatacassandra_backupnel passaggio in cui hai creato la directory di backup).backup:cloudProviderHYBRIDLa proprietà
cloudProvider: "HYBRID"è obbligatoria.backup:scheduleSCHEDULE
L'ora di inizio del backup, specificata nella sintassi standard di crontab. Valore predefinito:
0 2 * * * - Crea un nuovo deployment del 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 e conferma che
apigeedse tutti gli altri pod siano attivi:- Per controllare
apigeeds:kubectl get apigeeds -n apigee
- Per controllare tutti gli altri pod:
kubectl get pods -n apigee
- Per controllare
Una volta completato il ripristino e verificato che i componenti di runtime siano integri, ti consigliamo di configurare un backup sul cluster:
- Rimuovi la configurazione
restoredal fileoverrides-restore.yaml. - Aggiungi la configurazione
backupal fileoverrides-restore.yaml. - Applica la configurazione
backupcon il seguente comando:./apigeectl apply -f ../overrides-restore.yaml