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 ritirare una sola organizzazione alla volta. Il ritiro simultaneo di più organizzazioni non è supportato.
Ottenere il nome dell'organizzazione
Alcuni comandi in 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.yaml
dell'organizzazione. - Se il nome dell'organizzazione contiene trattini ("-"), sostituiscili con trattini bassi ("_").
Istruzioni
Segui queste istruzioni per eseguire il ritiro di 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_NAMESPACE --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 Apigee Telemetry (Metriche e Logger) nell'organizzazione da eliminare, segui questi passaggi per riconfigurarli in modo che i dati delle metriche e dei log vengano applicati a una nuova organizzazione/un nuovo progetto.
- 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 campoorg: test-dev
dell'organizzazione.helm upgrade telemetry apigee-telemetry/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
-
Esegui questo comando, assicurandoti di utilizzare l'organizzazione/il progetto corretti:
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- Elimina le risorse Kubernetes dell'organizzazione dal deployment ibrido.
- Verifica che il contesto corrente sia quello corretto per il cluster Kubernetes di origine:
kubectl config current-context
Se necessario, imposta il contesto Kubernetes.
Elenca i tuoi contesti attuali per vedere il nome del contesto per ogni 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 l'host virtuale.
Ripeti questa operazione per ogni gruppo di ambienti:
helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
- Elimina gli ambienti. Ripeti questa operazione per ogni ambiente:
helm -n APIGEE_NAMESPACE delete ENV_NAME
- Elimina l'organizzazione Apigee.
helm -n APIGEE_NAMESPACE delete ORG_NAME
- Verifica che il contesto corrente sia quello 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_NAMESPACE 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"
Consulta Ottenere il nome dell'organizzazione per istruzioni su come trovare e preparare il ORG_NAME.
Esci dal pod
apigee-cassandra-default-0
. - Crea un pod di 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 i seguenti 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 KEYSPACE_NAME;
Esci dal pod del client di debug Cassandra.
- Esegui un riavvio graduale 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 in più regioni, esegui un riavvio graduale su tutti i pod Cassandra in ogni regione ibrida.
Esegui il seguente comando e verifica che lo stato sia "In esecuzione":
kubectl get apigeeds -n APIGEE_NAMESPACE
Riavvia un singolo pod Cassandra con il seguente comando:
kubectl delete pod -n APIGEE_NAMESPACE CASSANDRA_POD_NAME
Attendi che il pod raggiunga lo stato
Running
utilizzando:kubectl get pods -n APIGEE_NAMESPACE
Riavviare il pod Cassandra successivo.
- Dopo aver eseguito i comandi
cqlsh
, esegui i comandi seguenti su tutti i 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_NAMESPACE CASSANDRA_POD_NAME -- /bin/bash
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2
Consulta Ottenere 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 nel pod