Ripristino di un deployment in una singola regione

Questa pagina descrive come ripristinare Cassandra in una singola regione.

In un deployment in una singola regione, Apigee Hybrid viene eseguito in un singolo data center o in una regione. Se nel tuo deployment sono presenti più organizzazioni Apigee, la procedura di ripristino ripristina i dati di tutte le organizzazioni. In una configurazione con più organizzazioni, non puoi ripristinare un'organizzazione specifica.

Ripristino di una regione da un backup

Nella configurazione, il backup di Cassandra può trovarsi su Cloud Storage o su un server remoto. In entrambi i casi, segui questi passaggi per eseguire il ripristino:

  1. Verifica la versione ibrida.
    apigeectl version
    Assicurati che sia la stessa versione con cui sono stati creati i file di backup nello spazio di archiviazione.
  2. Verifica che il cluster Kubernetes in cui stai eseguendo il ripristino non abbia un'installazione ibrida Apigee precedente. Se esegui il ripristino nel cluster esistente, utilizza il seguente comando per eliminare l'installazione ibrida Apigee esistente:
    apigeectl delete --all -f overrides.yaml
  3. Apri il file overrides.yaml e imposta le proprietà restore sui valori desiderati:

    Parametri

    namespace: YOUR_RESTORE_NAMESPACE # Use the namespace as in your original cluster.
    cassandra:
      ...
      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:
    ...
      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
    namespace

    YOUR_RESTORE_NAMESPACE

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

    restore:enabled Il ripristino è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.
    restore:keyFile

    PATH_TO_PRIVATE_KEY_FILE

    Il percorso nel file system locale del file della chiave privata SSH (chiamato ssh_key nel passaggio in cui hai creato la coppia di chiavi SSH).

    restore:server

    BACKUP_SERVER_IP

    L'indirizzo IP del server di backup.

    restore:storageDirectory

    BACKUP_DIRECTORY

    Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di home/apigee (la directory di backup è denominata cassandra_backup nel passaggio in cui hai creato la directory di backup).

    restore:cloudProvider

    HYBRID

    La proprietà cloudProvider: "HYBRID" è obbligatoria.

    restore:snapshotTimestamp

    TIMESTAMP

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

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

    backup:enabled Il backup è disattivato per impostazione predefinita. Devi impostare questa proprietà su true.
    backup:keyFile

    PATH_TO_PRIVATE_KEY_FILE

    Il percorso nel file system locale del file della chiave privata SSH (chiamato ssh_key nel passaggio in cui hai creato la coppia di chiavi SSH).

    backup:server

    BACKUP_SERVER_IP

    L'indirizzo IP del server di backup.

    backup:storageDirectory

    BACKUP_DIRECTORY

    Il nome della directory di backup sul server di backup. Deve essere una directory all'interno di home/apigee (la directory di backup è denominata cassandra_backup nel passaggio in cui hai creato la directory di backup).

    backup:cloudProvider

    HYBRID

    La proprietà cloudProvider: "HYBRID" è obbligatoria.

    backup:schedule

    SCHEDULE

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

  4. 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
  5. Verifica l'avanzamento del job di ripristino e conferma che apigeeds e 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

Al termine del ripristino e dopo aver verificato che i componenti di runtime sono operativi, consigliamo di configurare un backup sul cluster:

  1. Rimuovi la configurazione restore dal file overrides-restore.yaml.
  2. Aggiungi la configurazione backup al file overrides-restore.yaml.
  3. Applica la configurazione backup con il seguente comando:
    ./apigeectl apply -f ../overrides-restore.yaml