Questo documento illustra i passaggi per ritirare un'organizzazione da un deployment ibrido. La dismissione di un'organizzazione comporta l'eliminazione di tutti i dati ad essa correlati in tutti i pod Cassandra in tutti i cluster Kubernetes.
Limitazioni
È possibile dismettere una sola organizzazione alla volta. Il ritiro di più organizzazioni contemporaneamente non è supportato.
Ottieni il nome dell'organizzazione
Alcuni comandi in queste istruzioni richiedono l'utilizzo di un nome dell'organizzazione correttamente formattato.
Per ottenere il nome dell'organizzazione da utilizzare nei comandi di questa pagina:
- Recupera il nome dell'organizzazione dal file
overrides.yaml
dell'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à abilitato, abilita i backup nel deployment ibrido. In configurazioni multiregionali, utilizza il deployment ibrido operativo nella regione principale. Per informazioni sui backup ibridi, consulta Panoramica del backup di Cassandra.
- 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.
-
Una volta completato il job di backup, segui le istruzioni "Verifica lo stato del job di backup" e "Controlla i log di backup" in Monitorare i backup per verificare che il backup sia riuscito.
- (Facoltativo) Se hai configurato la telemetria Apigee (metriche e logger) nell'organizzazione da eliminare, segui questi passaggi per riconfigurarli in modo che le metriche e i dati di log vengano applicati a una nuova organizzazione o nuova organizzazione.
- 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 fileoverrides.yaml
deve contenere un campo orgorg: test-dev
.Helm
helm upgrade telemetry apigee-telemetry/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --telemetry
-
Esegui questo comando, assicurandoti di utilizzare l'organizzazione/il progetto corretto:
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- Elimina le risorse Kubernetes dell'organizzazione dal deployment ibrido.
Helm
- Verifica che il contesto attuale sia corretto per il cluster Kubernetes di origine:
kubectl config current-context
Se necessario, imposta il contesto di Kubernetes.
Elenca i tuoi contesti attuali per visualizzare il nome contesto per ciascun cluster:
kubectl config get-contexts
Imposta il contesto sul cluster e sulla regione da rimuovere:
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 apigeekubectl config use-context gke_example-org-1_us-west1_example-cluster-2
- Elimina il virtualhost.
Ripeti questo passaggio per ogni gruppo di ambienti:
helm -n apigee delete ENV_GROUP_NAME
- Elimina gli ambienti. Ripeti questa operazione per ogni ambiente:
helm -n apigee delete ENV_NAME
- Elimina l'organizzazione Apigee.
helm -n apigee delete ORG_NAME
apigeectl
Assicurati di utilizzare il file
overrides.yaml
per l'organizzazione. Ad esempio, se l'organizzazione da ritirare è "test-dev", il fileoverrides.yaml
deve contenere un campo orgorg: test-dev
.Per i deployment ibridi multiregionali, esegui questi comandi su ogni deployment ibrido in ogni regione.
kubectl config current-context # Verify the current context is the correct context for the hybrid deployment apigeectl check-ready -f overrides.yaml # Check the deployment status apigeectl delete --settings virtualhost -f overrides.yaml apigeectl check-ready -f overrides.yaml # Check the deployment status apigeectl delete --all-envs -f overrides.yaml apigeectl check-ready -f overrides.yaml # Check the deployment status apigeectl delete --org -f overrides.yaml apigeectl check-ready -f overrides.yaml # Check the deployment status
- Verifica che il contesto attuale sia corretto per il cluster Kubernetes di origine:
- Elimina i dati dell'organizzazione dal deployment ibrido. Una volta completato questo passaggio, tutti i dati dell'organizzazione
saranno rimossi dal deployment ibrido.
- Esegui nel 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.
Questo elenco sarà necessario in un secondo momento.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"
Per istruzioni su come trovare e preparare ORG_NAME, consulta la sezione Recuperare il nome dell'organizzazione.
Esci dal pod
apigee-cassandra-default-0
. - 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
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 questi comandi:drop keyspace
; Esci dal pod del client di debug 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 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 comando seguente:
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.
- Dopo aver eseguito i comandi
cqlsh
, esegui questi 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
Per istruzioni su come trovare e preparare ORG_NAME, consulta la sezione Recuperare il nome dell'organizzazione.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
Esci dal pod Cassandra.
- Esegui nel pod