このドキュメントでは、ハイブリッド デプロイから組織を廃止する手順について簡単に説明します。組織を廃止すると、すべての Kubernetes クラスタのすべての Cassandra Pod で、その組織に関連するすべてのデータが削除されます。
制限事項
一度に廃止できる組織は 1 つのみです。複数の組織を同時に廃止することはできません。
組織名を取得する
この手順の一部のコマンドでは、適切な形式の組織名を使用する必要があります。
このページのコマンドで使用する組織名を取得する方法は次のとおりです。
- 組織の
overrides.yaml
ファイルから組織名を取得します。 - 組織名にダッシュ(-)が含まれている場合は、アンダースコア(_)に置き換えます。
手順
次の手順に沿って、ハイブリッド デプロイから組織を廃止します。
- 組織をバックアップします。
- バックアップが有効になっていない場合は、ハイブリッド デプロイでバックアップを有効にします。マルチリージョン設定では、プライマリ リージョンで動作するハイブリッド デプロイを使用します。ハイブリッド バックアップについては、Cassandra のバックアップの概要をご覧ください。
- 次のコマンドを使用して、ハイブリッド バックアップ ジョブをトリガーします。
kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME
BACKUP_JOB_NAME は、任意の有効なコンテナの名前です。
-
バックアップ ジョブが完了したら、バックアップのモニタリングの「バックアップ ジョブのステータスを確認する」と「バックアップ ログを確認する」の手順に沿って、バックアップが正常に行われたことを確認します。
- (省略可)削除する組織に Apigee Telemetry(Metrics と Logger)を設定している場合、次の手順に沿って指標とログデータが新しい組織またはプロジェクトに適用されるように再構成します。
- データを送信する組織に対して次のコマンドを実行します。組織の
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
Pod を終了します。 - デバッグ用のクライアント コンテナを作成するの説明に沿って、Cassandra のデバッグ クライアント Pod を作成します。
cqlsh
プロンプトが表示されたら、次の手順に進みます。 cqlsh
プロンプトで次のコマンドを実行します。desc keyspaces;
このコマンドがエラーを返さないことを確認します。
前に
apigee apigee-cassandra-default-0
から作成したリストの名前ごとに、次のコマンドを実行します。drop keyspace
; Cassandra のデバッグ クライアント Pod を終了します。
- すべての Cassandra Pod のローリング再起動を行います。Cassandra Pod は、一度に 1 つだけ再起動するのであれば任意の順序で再起動できます。マルチリージョン デプロイの場合は、各ハイブリッド リージョンのすべての 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 Pod でコマンドを実行します。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 を終了します。