In diesem Dokument werden die Schritte zur Außerbetriebnahme einer Organisation aus einer Hybridbereitstellung beschrieben. Durch die Außerbetriebnahme einer Organisation werden alle damit verbundenen Daten aus allen Cassandra-Pods in allen Kubernetes-Clustern gelöscht.
Beschränkungen
Es kann jeweils nur eine Organisation außer Betrieb genommen werden. Die Außerbetriebnahme mehrerer Organisationen wird nicht unterstützt.
Name der Organisation abrufen
Für einige Befehle in dieser Anleitung müssen Sie einen ordnungsgemäß formatierten Organisationsnamen verwenden.
So rufen Sie den Namen der Organisation zur Verwendung in Befehlen auf dieser Seite ab:
- Rufen Sie den Organisationsnamen aus der Datei
overrides.yaml
der Organisation ab. - Wenn der Name der Organisation Bindestriche („-“) enthält, ersetzen Sie sie durch Unterstriche („_“).
Anleitung
Folgen Sie dieser Anleitung, um eine Organisation aus einer Hybridbereitstellung außer Betrieb zu nehmen.
- Organisation sichern
- Aktivieren Sie Sicherungen in der Hybridbereitstellung, falls noch nicht geschehen. Verwenden Sie in Einrichtungen mit mehreren Regionen die Hybridbereitstellung, die in der primären Region ausgeführt wird. Weitere Informationen zu Hybridsicherungen finden Sie unter Cassandra-Sicherungsübersicht.
- Lösen Sie den Hybrid-Sicherungsjob mit dem folgenden Befehl aus:
kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME
BACKUP_JOB_NAME kann ein beliebiger gültiger Containername sein.
-
Wenn der Sicherungsjob abgeschlossen ist, prüfen Sie anhand der Anleitung "Status des Sicherungsjobs prüfen" und "Sicherungslogs prüfen" unter Sicherungen überwachen, ob die Sicherung erfolgreich war.
- (Optional) Wenn Sie Apigee Telemetrie (Messwerte und Logger) für die zu löschende Organisation konfiguriert haben, führen Sie die folgenden Schritte aus, um sie neu zu konfigurieren, damit die Messwerte und Logdaten auf eine neue Organisation/Projekt angewendet werden.
- Führen Sie diesen Befehl für die Organisation aus, an die Sie die Daten senden möchten. Achten Sie darauf, für die Organisation die Datei
overrides.yaml
zu verwenden. Wenn die Organisation, die außer Betrieb genommen werden soll, beispielsweise "test-dev" ist, sollte die Dateioverrides.yaml
das Organisationsfeldorg: test-dev
enthalten.Helm
helm upgrade telemetry apigee-telemetry/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --telemetry
-
Führen Sie diesen Befehl aus und achten Sie darauf, dass Sie die richtige Organisation/das richtige Projekt verwenden:
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- Löschen Sie die Kubernetes-Ressourcen der Organisation aus der Hybridbereitstellung.
Helm
- Prüfen Sie, ob der aktuelle Kontext der richtige Kontext für den Kubernetes-Quellcluster ist:
kubectl config current-context
Legen Sie bei Bedarf den Kubernetes-Kontext fest.
Listen Sie Ihre aktuellen Kontexte auf, um den Kontextnamen für jeden Cluster anzuzeigen:
kubectl config get-contexts
Legen Sie den Kontext auf den Cluster und die Region fest, die Sie außer Betrieb nehmen möchten:
kubectl config use-context CONTEXT_NAME
Dabei ist CONTEXT_NAME der Kontextname für den Cluster und die Region.
Beispiel:
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
- Löschen Sie den Virtualhost.
Wiederholen Sie das für jede Umgebungsgruppe:
helm -n apigee delete ENV_GROUP_NAME
- Löschen Sie die Umgebungen. Wiederholen Sie diesen Vorgang für jede Umgebung:
helm -n apigee delete ENV_NAME
- Löschen Sie die Apigee-Organisation.
helm -n apigee delete ORG_NAME
apigeectl
Achten Sie darauf, für die Organisation die Datei
overrides.yaml
zu verwenden. Wenn die Organisation, die außer Betrieb genommen werden soll, beispielsweise "test-dev" ist, sollte die Dateioverrides.yaml
das Organisationsfeldorg: test-dev
enthalten.Führen Sie für multiregionale Hybridbereitstellungen diese Befehle für jede Hybridbereitstellung in jeder Region aus.
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
- Prüfen Sie, ob der aktuelle Kontext der richtige Kontext für den Kubernetes-Quellcluster ist:
- Löschen Sie die Organisationsdaten aus der Hybridbereitstellung. Wenn dieser Schritt abgeschlossen ist, werden alle Organisationsdaten aus der Hybridbereitstellung entfernt.
- Führen Sie den Pod
apigee-cassandra-default-0
aus:kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
- Führen Sie folgenden Befehl aus: Kopieren Sie die Liste aller Namen, die in der Ausgabe angezeigt werden.
Diese Liste wird später benötigt.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"
Eine Anleitung zum Suchen und Vorbereiten der ORG_NAME finden Sie unter Organisationsname abrufen.
Beenden Sie den Pod
apigee-cassandra-default-0
. - Erstellen Sie einen Cassandra-Debugging-Client-Pod, wie unter Client-Container zur Fehlerbehebung erstellen beschrieben.
Fahren Sie mit dem nächsten Schritt fort, nachdem Sie eine
cqlsh
-Eingabeaufforderung erhalten haben. - Führen Sie die folgenden Befehle in der Eingabeaufforderung
cqlsh
aus:desc keyspaces;
Achten Sie darauf, dass dieser Befehl keine Fehler zurückgibt.
Führen Sie für jeden Namen in der Liste, die zuvor aus
apigee apigee-cassandra-default-0
erstellt wurde, die folgenden Befehle aus:drop keyspace
; Beenden Sie den Cassandra-Debugging-Client-Pod.
- Führen Sie einen rollierenden Neustart aller Cassandra-Pods durch. Der Neustart der Cassandra-Pods kann in beliebiger Reihenfolge durchgeführt werden, solange nur jeweils ein Cassandra-Pod neu gestartet wird. Führen Sie für multiregionale Bereitstellungen einen rollierenden Neustart für alle Cassandra-Pods in jeder Hybridregion durch.
Führen Sie den folgenden Befehl aus und prüfen Sie, ob der Status "Wird ausgeführt" angezeigt wird:
kubectl get apigeeds -n apigee
Starten Sie einen einzelnen Cassandra-Pod mit dem folgenden Befehl neu:
kubectl delete pod -n apigee CASSANDRA_POD_NAME
Warten Sie mit dem folgenden Befehl, bis der Pod den Status
Running
erreicht:kubectl get pods -n apigee
Starten Sie den nächsten Cassandra-Pod neu.
- Führen Sie nach der Ausführung der
cqlsh
-Befehle die folgenden Befehle auf allen Cassandra-Pods in der Hybridbereitstellung aus. Führen Sie für multiregionale Hybridbereitstellungen die Befehle auf allen Cassandra-Pods in allen Hybridregionen aus.kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2
Eine Anleitung zum Suchen und Vorbereiten der ORG_NAME finden Sie unter Organisationsname abrufen.
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
Beenden Sie den Cassandra-Pod.
- Führen Sie den Pod