Questo documento descrive i passaggi per ritirare un'organizzazione da un deployment ibrido. Il ritiro 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. Il ritiro simultaneo di più organizzazioni non è supportato.
Ottenere il nome dell'organizzazione
Alcuni comandi di queste istruzioni richiedono l'utilizzo di un nome dell'organizzazione formattato correttamente.
Per ottenere il nome dell'organizzazione da utilizzare nei comandi in questa pagina:
- Recupera il nome dell'organizzazione dal file
overrides.yamldell'organizzazione. - Se il nome dell'organizzazione contiene trattini ("-"), sostituiscili con trattini bassi ("_").
Istruzioni
Segui queste istruzioni per ritirare un'organizzazione da un deployment ibrido.
- Esegui il backup dell'organizzazione
- Se non è già abilitata, abilita i backup nel deployment ibrido. Nelle configurazioni multiregionali, utilizza il deployment ibrido che opera nella regione principale. Consulta la panoramica del backup di Cassandra per informazioni sui backup ibridi.
- 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 contenitore valido.
-
Una volta completato il job di backup, utilizza le istruzioni "Controllare lo stato del job di backup" e "Controllare i log di backup" in Monitoraggio dei backup per verificare che il backup sia stato eseguito correttamente.
- (Facoltativo) Se hai configurato Apigee Telemetry (metriche e logger) nell'organizzazione da eliminare, segui questi passaggi per riconfigurarli in modo che i dati di metriche e log si applichino a una nuova organizzazione/progetto.
- Esegui questo comando per l'organizzazione a cui vuoi inviare i dati. Assicurati di utilizzare il file
overrides.yamlper l'organizzazione. Ad esempio, se l'organizzazione da ritirare è "test-dev", il fileoverrides.yamldeve contenere un campo dell'organizzazioneorg: test-dev.helm upgrade telemetry apigee-telemetry/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
-
Esegui questo comando, assicurandoti di utilizzare l'organizzazione/il progetto corretti:
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- Elimina le risorse Kubernetes dell'organizzazione dal deployment ibrido.
- Verifica che il contesto attuale sia quello corretto per il cluster Kubernetes di origine:
kubectl config current-context
Se necessario, imposta il contesto Kubernetes.
Elenca i contesti attuali per visualizzare il nome del contesto per ogni 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-contextsCURRENT 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 apigeekubectl config use-context gke_example-org-1_us-west1_example-cluster-2 - Elimina l'host virtuale.
Ripeti questa operazione per ogni gruppo di ambienti:
helm -n apigee delete ENV_GROUP_NAME
- Elimina gli ambienti. Ripeti l'operazione per ogni ambiente:
helm -n apigee delete ENV_NAME
- Elimina l'organizzazione Apigee.
helm -n apigee delete ORG_NAME
- Verifica che il contesto attuale sia quello corretto per il cluster Kubernetes di origine:
- Elimina i dati dell'organizzazione dalla distribuzione ibrida. Una volta completato questo passaggio, tutti i dati dell'organizzazione
non saranno più presenti nella distribuzione ibrida.
- Esegui l'accesso al pod
apigee-cassandra-default-0:kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
- Esegui questo comando. Copia l'elenco di tutti i nomi visualizzati nell'output.
Avrai bisogno di questo elenco in un secondo momento.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"
Consulta Recupera il nome dell'organizzazione per istruzioni su come trovare e preparare il ORG_NAME.
Esci dal pod
apigee-cassandra-default-0. - Crea un pod client di debug Cassandra come descritto in
Crea un contenitore client per il debug.
Passa al passaggio successivo dopo aver ricevuto un prompt
cqlsh. - Esegui questi comandi nel prompt
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 i seguenti comandi:drop keyspace
; Esci dal pod client di debug di Cassandra.
- 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 graduale di tutti i pod Cassandra in ogni regione ibrida.
Esegui il comando seguente e verifica che lo stato sia "Running":
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
Runningutilizzando:kubectl get pods -n apigee
Riavvia il pod Cassandra successivo.
- Dopo aver eseguito i comandi
cqlsh, esegui i seguenti comandi su tutti i pod Cassandra nel deployment ibrido. Per i deployment ibridi multiregionali, 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 Recupera il nome dell'organizzazione per istruzioni su come trovare e preparare il ORG_NAME.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
Esci dal pod Cassandra.
- Esegui l'accesso al pod