Questo documento illustra i passaggi per il ritiro di un'organizzazione da un deployment ibrido. Il ritiro di un'organizzazione comporta l'eliminazione di tutti i dati relativi all'organizzazione in tutti i pod Cassandra di tutti i cluster Kubernetes.
Limitazioni
È possibile dismettere una sola organizzazione alla volta. Il ritiro simultaneo di più organizzazioni 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 in 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 sono già abilitati, attiva i backup nel deployment ibrido. Nelle configurazioni multiregione, utilizza il deployment ibrido operativo nella regione principale. Consulta 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.
-
Al termine del job di backup, segui le istruzioni "Verifica lo stato del job di backup" e "Verifica i log di backup" in Monitoraggio dei 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 unorg: test-dev
org.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 corretti:
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 del cluster e della 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 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 l'operazione per ogni ambiente:
helm -n apigee delete ENV_NAME
- Elimina l'organizzazione Apigee.
helm -n apigee delete ORG_NAME
apigeectl
Assicurati di utilizzare
overrides.yaml
per l'organizzazione. Ad esempio, se l'organizzazione da ritirare è "test-dev", il fileoverrides.yaml
deve contenere un campoorg: test-dev
dell'organizzazione.Per i deployment ibridi multiregionali, esegui questi comandi su ogni deployment ibrido 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. Al termine di questo passaggio, tutti i dati dell'organizzazione
non saranno più presenti nel 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 ti servirà 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 lo strumento, consulta la sezione Ottieni il nome dell'organizzazione ORG_NAME.
Esci dal pod
apigee-cassandra-default-0
. - Crea un pod client di debug Cassandra come descritto in
Creare un contenitore client per il debug.
Vai al passaggio successivo dopo aver ricevuto una richiesta
cqlsh
. - Esegui questi comandi nel prompt
cqlsh
:desc keyspaces;
Assicurati che questo comando non restituisca errori.
Per ogni nome nell'elenco creato in precedenza dal file
apigee apigee-cassandra-default-0
, esegui i seguenti 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 più regioni
eseguire 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
Riavviare il pod Cassandra successivo.
- Dopo aver eseguito i comandi
cqlsh
, esegui questi comandi su tutti Pod Cassandra nel deployment ibrido. Per i deployment ibridi multi-regione, 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 lo strumento, consulta la sezione Ottieni il nome dell'organizzazione ORG_NAME.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
Esci dal pod Cassandra.
- Esegui nel pod