Rimuovere un'organizzazione ibrida

Questo documento illustra i passaggi per scollegare un'organizzazione da un deployment ibrido. La dismissione di un'organizzazione comporta l'eliminazione di tutti i dati correlati all'organizzazione in tutti i pod Cassandra in tutti i cluster Kubernetes.

Limitazioni

È possibile ritirare una sola organizzazione alla volta. La dismissione di più organizzazioni contemporaneamente non è supportata.

Recupera il nome dell'organizzazione

Alcuni comandi in queste istruzioni richiedono di utilizzare un nome dell'organizzazione formattato correttamente.

Per ottenere il nome dell'organizzazione da utilizzare nei comandi in questa pagina:

  1. Recupera il nome dell'organizzazione dal file overrides.yaml dell'organizzazione.
  2. Se il nome dell'organizzazione contiene trattini ("-"), sostituiscili con trattini bassi ("_").

Istruzioni

Segui queste istruzioni per scollegare un'organizzazione da un deployment ibrido.

  1. Eseguire il backup dell'organizzazione.
    1. Se non è già abilitato, abilita i backup sul deployment ibrido. Nelle configurazioni multiregionali, utilizza il deployment ibrido operativo nella regione principale. Consulta la panoramica del backup di Cassandra per informazioni sui backup ibridi.
    2. Attiva un job di backup ibrido utilizzando il seguente comando:

      kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME

      BACKUP_JOB_NAME può essere qualsiasi nome di container valido.

    3. Una volta completato il job di backup, utilizza le istruzioni "Controlla lo stato del job di backup" e "Controlla i log di backup" in Monitoraggio dei backup per verificare che il backup sia riuscito.

  2. (Facoltativo) Se hai configurato la telemetria di Apigee (metriche e logger) sull'organizzazione per l'eliminazione, segui questi passaggi per riconfigurarle in modo che le metriche e i dati di log vengano applicati a una nuova organizzazione/progetto.
    1. Esegui questo comando per l'organizzazione a cui vuoi inviare i dati. Assicurati di utilizzare il file overrides.yaml per l'organizzazione. Ad esempio, se l'organizzazione da ritirare è "test-dev", il file overrides.yaml deve contenere un campo org org: test-dev.
      helm upgrade telemetry apigee-telemetry/ \
        --namespace apigee \
        --atomic \
        -f OVERRIDES_FILE.yaml
      
    2. Esegui questo comando, assicurandoti di utilizzare l'organizzazione o il progetto corretto:
      kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Elimina le risorse Kubernetes dell'organizzazione dal deployment ibrido.
    1. Verifica che il contesto attuale sia quello corretto per il cluster Kubernetes di origine:
      kubectl config current-context

      Se necessario, imposta il contesto di Kubernetes.

      Elenca i contesti attuali per visualizzarne il nome per ciascun cluster:

      kubectl config get-contexts

      Imposta il contesto sul cluster e sulla regione che vuoi ritirare:

      kubectl config use-context CONTEXT_NAME

      Dove CONTEXT_NAME è il nome del contesto per il cluster e la regione.

      Ad esempio:

          kubectl config get-contexts
          CURRENT   NAME                                                   CLUSTER                                                AUTHINFO                                               NAMESPACE
                    gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        apigee
          *         gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        apigee
                    gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           apigee
      
          kubectl config use-context gke_example-org-1_us-west1_example-cluster-2
    2. Elimina virtualhost.

      Ripeti questa operazione per ogni gruppo di ambienti:

      helm -n apigee delete ENV_GROUP_NAME
      
    3. Eliminare gli ambienti. Ripeti questa operazione per ogni ambiente:
      helm -n apigee delete ENV_NAME
      
    4. Elimina l'organizzazione Apigee.
      helm -n apigee delete ORG_NAME
      
  4. Elimina i dati dell'organizzazione dal deployment ibrido. Al termine di questo passaggio, tutti i dati dell'organizzazione verranno rimossi dal deployment ibrido.
    1. Esegui l'esecuzione nel pod apigee-cassandra-default-0:
      kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
      
    2. Esegui questo comando. Copia l'elenco di tutti i nomi mostrati nell'output. Questo elenco sarà necessario in seguito.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Consulta Recupero del nome dell'organizzazione per istruzioni su come trovare e preparare l'ORG_NAME.

      Esci dal pod apigee-cassandra-default-0.

    3. Crea un pod del client di debug Cassandra come descritto in Creare un contenitore client per il debug. Vai al passaggio successivo dopo aver ricevuto un messaggio di tipo cqlsh.
    4. Esegui questi comandi nel prompt di cqlsh:
      desc keyspaces;

      Assicurati che questo comando non restituisca errori.

      Per ogni nome nell'elenco creato in precedenza da apigee apigee-cassandra-default-0, esegui questi comandi:

      drop keyspace ;

      Esci dal pod del client di debug Cassandra.

    5. Esegui un riavvio in sequenza di tutti i pod Cassandra. Il riavvio dei pod Cassandra può essere eseguito in qualsiasi ordine, purché venga riavviato un solo pod Cassandra alla volta. Per i deployment multiregionali, esegui un riavvio in sequenza su tutti i pod Cassandra in ogni regione ibrida.

      Esegui questo comando e verifica che lo stato sia "In esecuzione":

      kubectl get apigeeds -n apigee

      Riavvia un singolo pod Cassandra con il seguente comando:

      kubectl delete pod -n apigee CASSANDRA_POD_NAME

      Attendi che il pod raggiunga lo stato Running utilizzando:

      kubectl get pods -n apigee

      Riavvia il pod Cassandra successivo.

    6. Dopo aver eseguito i comandi cqlsh, esegui quelli seguenti su tutti i pod Cassandra nel deployment ibrido. Per deployment ibridi in più regioni, esegui i comandi su tutti i pod Cassandra in tutte le regioni ibride.
      kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2

      Consulta Recupero del nome dell'organizzazione per istruzioni su come trovare e preparare l'ORG_NAME.

      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
    7. Esci dal pod Cassandra.