このページでは、Google Cloud フリートからクラスタの登録を手動で解除する方法について説明します。クラスタの登録を手動で解除すると、フリートへの接続は削除されますが、クラスタは削除されません。Google Cloud コンソールまたは gcloud CLI を使用して Google Cloud に登録済みの GKE クラスタを削除すると、クラスタのフリート メンバーシップも削除されます。
登録を解除できるのは、Google Cloud 上の GKE クラスタと接続されたサードパーティ クラスタのみです。他のクラスタタイプの登録は解除できません。
登録済みのクラスタをフリート間で移動(登録解除してから再登録)させることは、おすすめできません。予期しない動作や望ましくない動作が発生する可能性があるためです。たとえば、ワークロード フリートの Workload Identity が変更され、リクエストのブロックや停止を引き起こす可能性があります。ワークロードを配置するフリートに新しいクラスタを作成した後、古いクラスタから新しいクラスタにワークロードを移すことをおすすめします。
クラスタの登録解除
gcloud
GKE クラスタの登録を解除する
このコマンドは、gcloud container clusters update
または gcloud container clusters create
を使用して登録された GKE クラスタの登録を解除する場合にのみ使用できます。
次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME --clear-fleet-project
CLUSTER_NAME は、削除するクラスタの名前に置き換えます。
GKE クラスタの登録を解除する(以前のコマンド)
古い register
コマンドを使用してクラスタを登録した場合は、次のいずれかのコマンドを実行して登録を解除します。
gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \ --project=[PROJECT_ID] \ --gke-uri=[GKE_URI]
gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \ --project=[PROJECT_ID] \ --gke-cluster=[GKE_CLUSTER]
ここで
- [PROJECT_ID] はユーザーの Google Cloud プロジェクト ID です。この値の確認方法をご覧ください。
- [MEMBERSHIP_NAME] は、クラスタに対応するメンバーシップ名です。Hub のすべてのメンバーを一覧表示するには、
gcloud container fleet memberships list
を実行します。 - [GKE_URI] は GKE クラスタの URI です(例: https://container.googleapis.com/projects/my-project/locations/us-central1-a/clusters/my-cluster)。URI を取得するには、
gcloud container clusters list --uri
を実行します。提供された URI が検証され、有効な GKE クラスタにマッピングされていることを確認します。 - [GKE_CLUSTER] は、GKE クラスタの
location/name
です。ロケーションは、ゾーンまたはリージョンのいずれかです(例:us-central1-a/my-cluster
)。
接続されたクラスタの登録を解除する
以下の手順は、接続されたクラスタの機能の最新バージョンを使用して登録されたクラスタに適用されます。非推奨になった前の世代のこの機能を使用して接続されたクラスタは、次のセクションで説明している以前のコマンドを使用する必要があります。
接続されたクラスタの登録を解除する(以前のコマンド)
前の世代の接続されたクラスタを使用してクラスタを登録している場合は、次のコマンドで登録を解除します。
gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \ --project=[PROJECT_ID] \ --context=[KUBECONFIG_CONTEXT] \ --kubeconfig=[KUBECONFIG_PATH]
ここで
- [PROJECT_ID] はユーザーの Google Cloud プロジェクト ID です。この値の確認方法をご覧ください。
- [MEMBERSHIP_NAME] は、クラスタに対応するメンバーシップ名です。Hub のすべてのメンバーシップのリストを取得するには、
gcloud container fleet memberships list
を実行します。 - [KUBECONFIG_PATH] は、クラスタ ファイルのエントリを含む kubeconfig が格納されているローカルパスです。環境変数が設定されている場合のデフォルトは
$KUBECONFIG
です。それ以外の場合のデフォルトは$HOME/.kube/config
です。 - [KUBECONFIG_CONTEXT] は、kubeconfig ファイルに示されたクラスタのコンテキストです。この値は、コマンドラインで
kubectl config current-context
を実行すると取得できます。
コンソール
Google Cloud で GKE クラスタの登録を解除する
GKE クラスタの登録を解除するには:
GKE の [クラスタ] ページに移動します。このページには、すべてのクラスタが表示されます。
登録を解除するクラスタの横にある操作アイコン
をクリックします。操作メニューで [登録解除] を選択します。
表示されたダイアログで、クラスタの名前を入力し、[登録解除] をクリックして操作を確定します。
接続されたサードパーティ クラスタの登録を解除する
接続されたクラスタの登録を解除するには:
Google Cloud コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。
クラスタが存在する Google Cloud プロジェクトを選択します。
切断するクラスタの名前をクリックし、サイドパネルで [詳細を表示] を選択します。
ウィンドウの上部にある
(削除)をクリックします。確認のメッセージが表示されたら、クラスタの名前を入力して [確認] をクリックします。
Terraform
Terraform を使用して登録した GKE クラスタの登録を解除するには:
クラスタの google_container_cluster
リソース構成から次のブロックを削除します。
fleet {
project = "FLEET_HOST_PROJECT"
"
}
FLEET_HOST_PROJECT
は、クラスタが登録されている Google Cloud プロジェクト ID です。
Connect Agent を管理する
次の手順は、登録の一部として Connect Agent がインストールされている接続クラスタの登録解除にのみ適用されます。
省略可: Connect Agent 名前空間が削除されたことを確認する
クラスタの登録解除後は、Connect Agent が使用していた名前空間が削除されたことを確認できます。これは、登録時に Connect Agent がインストールされた場合にのみ適用されます。そのためには、次を実行します。
kubectl get ns -l hub.gke.io/project
このコマンドが出力を返さない場合、名前空間はすでに削除されています。
Connect Agent サービス アカウントを削除する
Connect Agent 用のサービス アカウントを作成した場合は、次のようにして削除できます。
gcloud iam service-accounts delete [SERVICE_ACCOUNT_NAME]
使用できないクラスタの登録を解除する
アクセスできないクラスタの登録を解除するには、次の手順を行います。
現在登録されているクラスタ(メンバーシップ)を一覧表示します。
gcloud container fleet memberships list
コマンド出力の
Name
列に登録済みクラスタのメンバーシップ名が、EXTERNAL_ID
列に kube-system 名前空間のクラスタの UID が表示されます。使用できないクラスタの登録を解除するには、次のコマンドを実行します。
gcloud container fleet memberships delete [MEMBERSHIP_NAME]
ここで、[MEMBERSHIP_NAME] はクラスタに対応するメンバーシップ名です。