GKE On-Prem API を使用すると、Google Cloud コンソール、Google Cloud CLI、Terraform を使用してオンプレミス クラスタのライフサイクルを管理できます。これらのツールを使用してクラスタを作成すると、API は選択した Google Cloudリージョンにクラスタ メタデータを保存します。gkectl を使用してクラスタを作成する場合は、GKE On-Prem API にクラスタを登録して、これらのインターフェースで詳細を表示し、ライフサイクルを管理する必要があります。
クラスタの登録は、フリートへの登録とは異なります。すべての Google Distributed Cloud クラスタは、作成時にフリートホスト プロジェクトに自動的に登録されます。 Google Cloud コンソールでは、GKE On-Prem API で管理されている登録済みクラスタは、[タイプ] 列に [VMware] と表示されます。一方、登録されていないクラスタは [外部] と表示されます。
登録済みクラスタを表示する
すべてのフリート クラスタが、コンソールの [GKE クラスタ] ページに表示されます。これらの両方によって、フリート全体の概要を確認できます。また、Google Distributed Cloud では、GKE On-Prem API によって管理されているクラスタを確認できます。
フリート クラスタを表示するには:
-
コンソールで [GKE クラスタ] ページに移動します。
[GKE クラスタ] に移動 -
Google Cloud プロジェクトを選択します。
- [タイプ] 列に「VMware」と表示されている場合、クラスタは GKE On-Prem API によって管理されています。
- [タイプ] 列に「外部」と表示されている場合は、クラスタは GKE On-Prem API で管理されていません。
要件
- ユーザー クラスタはバージョン 1.11 以降である必要があります。
管理クラスタは、バージョン 1.13 以降である必要があります。
プロジェクト オーナーでない場合は、少なくともそのプロジェクトに対する Identity and Access Management ロール
roles/gkeonprem.adminが付与されている必要があります。このロールに含まれる権限の詳細については、IAM のドキュメントの GKE On-Prem ロールをご覧ください。
始める前に
必要に応じて gcloud CLI を設定します。
gcloud CLI をインストールする必要がある場合は、gcloud CLI のドキュメントをご覧ください。
必要に応じて gcloud CLI コンポーネントを更新します。
gcloud components update
GKE On-Prem API を有効にして使用するために、以下の手順に従います。
プロジェクトで API を有効にします。
gcloud services enable \ --project PROJECT_ID \ gkeonprem.googleapis.comPROJECT_IDは、フリートホスト プロジェクトのプロジェクト ID に置き換えます。これは、管理クラスタ構成ファイルまたはユーザー クラスタ構成ファイルのgkeconnectセクションで構成されたプロジェクト ID です。PERMISSION_DENIEDエラーが発生した場合は、入力したプロジェクト ID を再確認してください。プロジェクト ID が正しい場合は、「gcloud auth login」を実行して、プロジェクトにアクセスできるアカウントで Google Cloud CLI にログインします。プロジェクトで GKE On-Prem API を初めて有効にした場合は、API を初期化する必要があります。これを行うには、クラスタの作成に使用できるバージョンを表示する gcloud CLI コマンドを実行します。
gcloud container vmware clusters query-version-config \ --project=PROJECT_ID \ --location=REGIONREGIONは、us-west1または別のサポートされているリージョンに置き換えます。
Google API や他のアドレスからのトラフィックがプロキシ サーバーを通過できるよう組織が許可リストを設定している場合は、次を許可リストに追加します。
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
GKE On-Prem API のサービス名です。
ユーザー クラスタを登録する
gcloud CLI
登録済みクラスタのフリート メンバーシップを一覧表示します。
gcloud container fleet memberships list \ --project=PROJECT_IDPROJECT_IDは、フリート ホスト プロジェクトのプロジェクト ID に置き換えます。ユーザー クラスタを管理する管理クラスタがメンバーとなっているリージョンをメモします。これは次のステップで必要になります。
GKE On-Prem API にクラスタを登録します。
gcloud container vmware clusters enroll USER_CLUSTER_NAME \ --project=<var>PROJECT_ID</var> \ --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=REGION次のように置き換えます。
USER_CLUSTER_NAME: 登録するユーザー クラスタの名前。PROJECT_ID: フリート ホスト プロジェクトのプロジェクト ID。MEMBERSHIP_REGION: ユーザー クラスタを管理する管理クラスタがメンバーであるリージョン。globalまたは Google Cloud リージョンを指定できます。ADMIN_CLUSTER_NAME: ユーザー クラスタを管理する管理クラスタの名前。ADMIN_CLUSTER_NAME、MEMBERSHIP_REGION、PROJECT_IDは、--admin-cluster-membershipフラグの完全指定のクラスタ名を形成します。REGION: GKE On-Prem API が実行され、クラスタ メタデータが保存される Google Cloud リージョン。us-west1または別のサポートされているリージョンを指定します。クラスタの登録後にリージョンを変更することはできません。
gkectl
管理ワークステーションで次の手順を行います。
ユーザー クラスタの構成ファイルに次のセクションを追加します。
gkeOnPremAPI: enabled:true location:REGIONREGIONは、GKE On-Prem API が実行され、クラスタ メタデータを保存する Google Cloud リージョンに置き換えます。us-west1または別のサポートされているリージョンを指定します。クラスタの登録後にリージョンを変更することはできません。クラスタを更新します。
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG_FILE
次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスUSER_CLUSTER_CONFIG_FILE: ユーザー クラスタの構成ファイルのパス
管理クラスタを登録する
gcloud CLI
登録済みクラスタのフリート メンバーシップを一覧表示します。
gcloud container fleet memberships list \ --project=PROJECT_IDPROJECT_IDは、フリート ホスト プロジェクトのプロジェクト ID に置き換えます。管理クラスタがメンバーとなっているリージョンをメモします。これは次のステップで必要になります。
GKE On-Prem API に管理クラスタを登録します。
gcloud container vmware admin-clusters enroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \ --location=REGION
次のように置き換えます。
ADMIN_CLUSTER_NAME: 登録する管理クラスタの名前。PROJECT_ID: フリート ホスト プロジェクトのプロジェクト ID。MEMBERSHIP_REGION: 管理クラスタがメンバーであるリージョン。globalまたは Google Cloud リージョンを指定できます。ADMIN_CLUSTER_NAME、MEMBERSHIP_REGION、PROJECT_IDは、--admin-cluster-membershipフラグの完全クラスタ名を作成します。REGION: GKE On-Prem API が実行され、クラスタ メタデータが保存される Google Cloud リージョン。us-west1または別のサポートされているリージョンを指定します。管理クラスタ構成ファイルのstackdriver.clusterLocationで構成したものと同じリージョンを使用することをおすすめします。クラスタの登録後にリージョンを変更することはできません。
gkectl
管理ワークステーションで次の手順を行います。
管理クラスタの構成ファイルに次のセクションを追加します。
gkeOnPremAPI: enabled:true location:REGIONREGIONは、GKE On-Prem API が実行され、クラスタ メタデータを保存する Google Cloud リージョンに置き換えます。us-west1または別のサポートされているリージョンを指定します。stackdriver.clusterLocationで構成したものと同じリージョンを使用することをおすすめします。クラスタの登録後にリージョンを変更することはできません。クラスタを更新します。
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG_FILE
次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスADMIN_CLUSTER_CONFIG_FILE: 管理クラスタの構成ファイルのパス
クラスタに関する情報を取得する
クラスタを登録したら、次のコマンドを使用してクラスタに関する情報を取得できます。
ユーザー クラスタ
- ユーザー クラスタを記述するには:
gcloud container vmware clusters describe USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
- ユーザー クラスタを一覧表示するには:
gcloud container vmware clusters list \ --project=PROJECT_ID \ --location=-
--location=- に設定すると、すべてのリージョンのクラスタの一覧が取得されます。リストを絞り込む必要がある場合は、クラスタの登録時に指定したリージョンを --location に設定します。
管理クラスタ
- 管理クラスタを記述するには:
gcloud container vmware admin-clusters describe ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
- 管理クラスタを一覧表示するには:
gcloud container vmware admin-clusters list \ --project=PROJECT_ID \ --location=-
--location=- に設定すると、すべてのリージョンのクラスタの一覧が取得されます。リストを絞り込む必要がある場合は、クラスタの登録時に指定したリージョンを --location に設定します。
クラスタに接続する
クラスタを GKE On-Prem API に登録したら、認証方法を選択して構成し、Google Cloud コンソールからクラスタを管理できるようにします。選択した認証方法によって、コマンドラインからクラスタへのアクセスも制御されます。詳しくは以下をご覧ください。