このドキュメントでは、1 つ以上の Google Cloud プロジェクトを Google Distributed Cloud のクラスタに関連付ける方法について説明します。
ここでは手順全体を詳しく解説します。Google Cloud プロジェクトの使用方法の概要については、最小限のインフラストラクチャを設定するをご覧ください。
始める前に
フリート ホスト プロジェクト
すべての管理クラスタは、フリートに登録する必要があります。また、管理クラスタによって管理されているすべてのユーザー クラスタは、管理クラスタと同じフリートに登録されている必要があります。
管理クラスタまたはユーザー クラスタは、フリートに登録されるときにフリート ホスト プロジェクトに関連付けられます。管理クラスタと管理クラスタが管理するすべてのユーザー クラスタは、同じフリート ホスト プロジェクトを持ちます。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
Windows
フリートホスト プロジェクトで次の 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 CLI | gcloud container vmware clusters create を呼び出す際に、--project の値を指定します。 |
使用状況測定プロジェクト
ユーザー クラスタで使用状況測定を有効にすると、Google Distributed Cloud は、任意の 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
Windows
gcloud services enable --project USAGE_METERING_PROJECT_ID ^ bigquery.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
使用状況測定プロジェクトのサービス アカウントにロールを付与する
使用状況測定サービス アカウントには、使用状況測定プロジェクトに対する特定のロールが付与されている必要があります。
詳しくは、使用状況測定サービス アカウントをご覧ください。
コンポーネント アクセス サービス アカウントの親プロジェクト
クラスタを作成する前に、Google Distributed Cloud で 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