クラスタの登録解除

このページでは、Google Cloud フリートからクラスタの登録を手動で解除する方法について説明します。クラスタの登録を手動で解除すると、フリートへの接続は削除されますが、クラスタは削除されません。Google Cloud コンソールまたは gcloud CLI を使用して登録済みの 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)。

EKS 接続クラスタまたは AKS 接続クラスタの登録を解除する

以下の手順は、接続クラスタ機能の最新バージョンを使用して登録された Amazon EKS クラスタと Azure AKS クラスタに適用されます。前の世代のこの機能を使用して接続されたクラスタは、次のセクションの指示に従う必要があります。

他の接続クラスタタイプの登録を解除する

次のコマンドを実行します。

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 Enterprise コンソールを使用する必要があります。GKE コンソールからの登録解除はサポートされていません。

GKE クラスタの登録を解除する

GKE クラスタの登録を解除するには:

  1. [GKE Enterprise クラスタ] ページに移動します。このページには、登録されているすべてのクラスタが表示されます。

    [GKE Enterprise クラスタ] ページに移動

  2. 登録を解除するクラスタをリストから選択します。詳細パネルが表示されます。

  3. 詳細パネルで、[登録解除] をクリックします。

  4. 表示されたダイアログで、もう一度 [登録解除] をクリックして操作を確定します。

他のクラスタタイプの登録を解除する

他のフリート クラスタの登録を解除するには:

  1. Google Cloud コンソールで、[GKE クラスタ] ページに移動します。

    GKE クラスタに移動

  2. クラスタのリストで、登録済みクラスタの横にある [操作] をクリックし、[登録解除] をクリックします。

  3. 表示されたダイアログで、もう一度 [登録解除] をクリックして操作を確定します。

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]

使用できないクラスタの登録を解除する

アクセスできないクラスタの登録を解除するには、次の手順を行います。

  1. 現在登録されているクラスタ(メンバーシップ)を一覧表示します。

    gcloud container fleet memberships list

    コマンド出力の Name 列に登録済みクラスタのメンバーシップ名が、EXTERNAL_ID 列に kube-system 名前空間のクラスタの UID が表示されます。

  2. 使用できないクラスタの登録を解除するには、次のコマンドを実行します。

    gcloud container fleet memberships delete [MEMBERSHIP_NAME]

    ここで、[MEMBERSHIP_NAME] はクラスタに対応するメンバーシップ名です。