本文件將概略說明如何從混合式部署中停用機構。停用組織,代表刪除所有 Kubernetes 叢集中所有 Cassandra 容器中與該組織相關的所有資料。
限制
一次只能停用一個機構。系統不支援同時停用多個機構。
取得機構名稱
這些操作說明中的部分指令需要使用格式正確的機構名稱。
如要取得組織名稱,以便在本頁的指令中使用:
- 從機構的
overrides.yaml
檔案中擷取機構名稱。 - 如果機構名稱包含任何連字號 (「-」),請將其替換為底線 (「_」)。
操作說明
請按照下列操作說明,從混合式部署中停用機構。
- 備份組織
- 如果尚未啟用,請在混合式部署中啟用備份功能。在多地區設定中,請使用在主要區域運作的混合型部署。如需混合備份的相關資訊,請參閱 Cassandra 備份總覽。
- 使用下列指令觸發混合式備份工作:
kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME
BACKUP_JOB_NAME 可以是任何有效的容器名稱。
-
備份工作完成後,請按照「監控備份」中的「檢查備份工作狀態」和「檢查備份記錄」操作說明,確認備份是否成功。
- (選用) 如果您已在要刪除的機構中設定 Apigee 遙測 (指標和記錄器),請按照下列步驟重新設定,以便將指標和記錄資料套用至新的機構/專案。
- 請為要傳送資料的機構執行這個指令。請務必使用組織的
overrides.yaml
檔案。舉例來說,如果要停用的機構是「test-dev」,overrides.yaml
檔案應包含org: test-dev
機構欄位。apigeectl apply --telemetry -f overrides.yaml
-
執行下列指令,並確保使用正確的組織/專案:
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- 從混合式部署中刪除機構的 Kubernetes 資源。
請務必使用機構的
overrides.yaml
檔案。舉例來說,如果要停用的機構是「test-dev」,overrides.yaml
檔案應包含org: test-dev
機構欄位。針對多區域混合式部署,請針對各區域中的每個混合式部署執行這些指令。
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
- 從混合式部署中刪除機構資料。完成這個步驟後,混合式部署作業就會移除所有組織資料。
- 執行
apigee-cassandra-default-0
pod:kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
- 執行下列指令。複製輸出內容中顯示的所有名稱清單。稍後會用到這個清單。
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"
如要瞭解如何尋找及準備 ORG_NAME,請參閱「取得組織名稱」一文。
退出
apigee-cassandra-default-0
容器。 - 按照「建立用於偵錯的用戶端容器」一文的指示建立 Cassandra 偵錯用戶端 Pod。收到
cqlsh
提示後,請繼續執行下一個步驟。 - 在
cqlsh
提示字元中執行下列指令:desc keyspaces;
請確認這項指令不會傳回錯誤。
針對先前從
apigee apigee-cassandra-default-0
建立的清單中的每個名稱,執行下列指令:drop keyspace
; 退出 Cassandra 偵錯用戶端 pod。
- 執行所有 Cassandra pod 的滾動式重新啟動作業。只要每次只重新啟動一個 Cassandra pod,您可以以任何順序重新啟動 Cassandra pod。如果是多區域部署作業,請針對每個混合式區域的所有 Cassandra pod 執行逐步重新啟動。
執行下列指令,並確認狀態顯示為「Running」:
kubectl get apigeeds -n apigee
使用下列指令重新啟動單一 Cassandra Pod:
kubectl delete pod -n apigee CASSANDRA_POD_NAME
使用以下指令,等待 pod 進入
Running
狀態:kubectl get pods -n apigee
重新啟動下一個 Cassandra pod。
- 執行
cqlsh
指令後,請對混合式部署中的所有 Cassandra Pod 執行下列指令。如果是多區域混合式部署,請在所有混合式區域的所有 Cassandra 容器上執行指令。kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2
如要瞭解如何尋找及準備 ORG_NAME,請參閱「取得組織名稱」一文。
find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
-
退出 Cassandra pod。
- 執行