GKE on VMware 用の Google Cloud プロジェクト

このドキュメントでは、1 つ以上の Google Cloud プロジェクトを GKE on VMware のクラスタに関連付ける方法について説明します。

ここでは手順全体を詳しく解説します。Google Cloud プロジェクトの使用に関する概要については、最小限のインフラストラクチャを設定するをご覧ください。

準備

Google Cloud CLI をインストールする

フリート ホスト プロジェクト

すべての管理クラスタは、フリートに登録されている必要があります。また、管理クラスタによって管理されるすべてのユーザー クラスタが、管理クラスタと同じフリートに登録されている必要があります。

管理クラスタまたはユーザー クラスタがフリートに登録されると、フリート ホスト プロジェクトに関連付けられます。管理クラスタと管理クラスタが管理するすべてのユーザー クラスタは、同じフリート ホスト プロジェクトを持ちます。Google Cloud コンソールのフリート ホスト プロジェクトでは、管理クラスタとユーザー クラスタを表示して管理できます。

フリートホスト プロジェクトとして機能する Google Cloud プロジェクトを選択します。既存のプロジェクトを選択するか、新しいものを作成します。プロジェクト ID をメモします。次の手順では、フリートホスト プロジェクトの ID が必要です。

フリート ホスト プロジェクトで API を有効にする

フリートホスト プロジェクトで、必要な API を有効にします。

Linux / macOS

フリートホスト プロジェクトで次の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthos.googleapis.com \
    container.googleapis.com \
    gkehub.googleapis.com \
    gkeconnect.googleapis.com \
    connectgateway.googleapis.com \
    monitoring.googleapis.com \
    kubernetesmetadata.googleapis.com \
    logging.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Google Cloud コンソール、Google Cloud CLI、または Terraform でクラスタのライフサイクルを管理する場合は、フリートホスト プロジェクトで次の追加の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    gkeonprem.googleapis.com \
    anthosaudit.googleapis.com \
    storage.googleapis.com

ウィンドウ

フリートホスト プロジェクトで次の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthos.googleapis.com ^
    container.googleapis.com ^
    gkehub.googleapis.com ^
    gkeconnect.googleapis.com ^
    connectgateway.googleapis.com ^
    monitoring.googleapis.com ^
    kubernetesmetadata.googleapis.com ^
    logging.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Google Cloud コンソール、Google Cloud CLI、または Terraform でユーザー クラスタのライフサイクルを管理する場合は、フリートホスト プロジェクトで次の追加の API を有効にします。

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    gkeonprem.googleapis.com ^
    anthosaudit.googleapis.com ^
    storage.googleapis.com

フリート ホスト プロジェクトのサービス アカウントにロールを付与する

connect-register サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールを付与する必要があります。詳しくは、Connect-register サービス アカウントをご覧ください。

logging-monitoring サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールが付与されている必要があります。詳細については、logging-monitoring サービス アカウントをご覧ください。

監査ロギング サービス アカウントには、フリートホスト プロジェクトに対する特定のロールが付与されている必要があります。詳しくは、監査ロギング サービス アカウントをご覧ください。

クラスタをフリートに登録する

クラスタを作成する際に、クラスタをフリートに登録します。登録の詳細は、クラスタの作成に使用するツールによって異なります。

ツール登録方法
gkectlクラスタ構成ファイルの gkeConnect.projectID フィールドに入力します。
Google Cloud コンソールクラスタは自動的に登録されます。クラスタの作成に使用する Google Cloud プロジェクトがフリートホスト プロジェクトになります。
Terraform.tfvars ファイルproject_id フィールドに入力します。
gcloud CLIgcloud container vmware clusters create を呼び出す際は、--project の値を指定します。

使用状況測定プロジェクト

ユーザー クラスタで 使用状況測定を有効にすると、GKE on VMware は、任意の Google Cloud プロジェクトに関連付けられている BigQuery データセットに使用状況データを保存します。この Google Cloud プロジェクトは、使用状況測定プロジェクトと呼ばれます。

使用状況測定プロジェクトは、フリートホスト プロジェクトと同じにすることも、別のものにすることもできます。

使用状況測定を有効にする場合は、使用状況測定プロジェクトで次の API を有効にします。

Linux / macOS

gcloud services enable --project USAGE_METERING_PROJECT_ID] \
    bigquery.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

ウィンドウ

gcloud services enable --project USAGE_METERING_PROJECT_ID ^
    bigquery.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

使用状況測定プロジェクトのサービス アカウントにロールを付与する

使用状況測定サービス アカウントには、使用状況測定プロジェクトに対する特定のロールが付与されている必要があります。

詳しくは、使用状況測定サービス アカウントをご覧ください。

コンポーネント アクセス サービス アカウントの親プロジェクト

クラスタを作成するためには、GKE on VMware が Container Registry からコンポーネントをダウンロードするために使用できるサービス アカウントが必要です。このサービス アカウントは、コンポーネント アクセス サービス アカウントと呼ばれます。

コンポーネント アクセス サービス アカウントを作成した Google Cloud プロジェクトは、コンポーネント アクセス サービス アカウントの親と呼ばれます。このプロジェクトは、フリートホスト プロジェクトと同じにすることも、別のものにすることもできます。サービス アカウントと親プロジェクトの詳細については、サービス アカウントと Google Cloud プロジェクトについてをご覧ください。

コンポーネント アクセス サービス アカウントの親プロジェクトで必要な API を有効にするには:

Linux / macOS

gcloud services enable --project [PARENT_PROJECT_ID] \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project [PARENT_PROJECT_ID] ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

次のステップ

サービス アカウントとキーを作成します