このドキュメントでは、1 つ以上の Google Cloud プロジェクトを VMware 上の GKE Enterprise クラスタに関連付ける方法について説明します。
ここでは手順全体を詳しく解説します。Google Cloud プロジェクトの使用に関する概要については、最小限のインフラストラクチャを設定するをご覧ください。
準備
フリート ホスト プロジェクト
すべての管理クラスタは、フリートに登録されている必要があります。また、管理クラスタによって管理されるすべてのユーザー クラスタが、管理クラスタと同じフリートに登録されている必要があります。
管理クラスタまたはユーザー クラスタがフリートに登録されると、フリート ホスト プロジェクトに関連付けられます。管理クラスタと管理クラスタが管理するすべてのユーザー クラスタは、同じフリート ホスト プロジェクトを持ちます。Google Cloud コンソールのフリート ホスト プロジェクトでは、管理クラスタとユーザー クラスタを表示して管理できます。
管理クラスタのフリートホスト プロジェクトを指定するには、管理クラスタ構成ファイルの gkeConnect.projectID
フィールドにプロジェクト ID を入力します。
gkectl
コマンドライン ツールを使用してユーザー クラスタを作成する場合は、ユーザー クラスタ構成ファイルの gkeConnect.projectID
フィールドにプロジェクト ID を入力します。
Google Cloud コンソールを使用してユーザー クラスタを作成すると、現在の Google Cloud プロジェクトが自動的にフリートホスト プロジェクトになります。
フリート ホスト プロジェクトで 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 \ stackdriver.googleapis.com \ monitoring.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 ^ stackdriver.googleapis.com ^ monitoring.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
フリートホスト プロジェクトのログと指標を表示する
Google Cloud コンソールでクラスタのログと指標を表示するには、管理とユーザーのクラスタ構成ファイルの stackdriver.projectID
フィールドにフリート ホスト プロジェクトの ID を入力します。
デフォルトでは、stackdriver
セクションは必須です。つまり、stackdriver
セクションを設定しない場合、gkectl create
を実行する際に --skip-validation-stackdriver
フラグを含める必要があります。
stackdriver.projectID
フィールドには他のプロジェクト ID を入力できません。値を入力する場合は、フリート ホスト プロジェクトの ID である必要があります。
Google Cloud コンソールでクラスタログと指標を表示する場合は、フリート ホスト プロジェクトで次の API を有効にします。
Linux / macOS
gcloud services enable --project FLEET_HOST_PROJECT_ID \ stackdriver.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ opsconfigmonitoring.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
Windows
gcloud services enable --project FLEET_HOST_PROJECT_ID ^ stackdriver.googleapis.com ^ monitoring.googleapis.com ^ logging.googleapis.com ^ opsconfigmonitoring.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
フリート ホスト プロジェクトの監査ログを表示する
Google Cloud コンソールで監査ログを表示するには、管理とユーザーのクラスタ構成ファイルの cloudAuditLogging.projectID
フィールドにフリート ホスト プロジェクトの ID を入力します。
cloudAuditLogging.projectID
フィールドには他のプロジェクト ID 入を力できません。値を入力する場合は、フリート ホスト プロジェクトの ID である必要があります。
Google Cloud コンソールで監査ログを表示する場合は、フリート ホスト プロジェクトで次の API を有効にします。
Linux / macOS
gcloud services enable --project FLEET_HOST_PROJECT_ID \ anthosaudit.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
Windows
gcloud services enable --project FLEET_HOST_PROJECT_ID ^ anthosaudit.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
フリート ホスト プロジェクトのサービス アカウントにロールを付与する
connect-register サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールを付与する必要があります。詳しくは、Connect-register サービス アカウントをご覧ください。
logging-monitoring サービス アカウントには、フリート ホスト プロジェクトに対する特定のロールが付与されている必要があります。詳細については、logging-monitoring サービス アカウントをご覧ください。
監査ロギング サービス アカウントには、フリートホスト プロジェクトに対する特定のロールが付与されている必要があります。詳しくは、監査ロギング サービス アカウントをご覧ください。
使用状況測定プロジェクト
ユーザー クラスタで GKE 使用状況測定を有効にすると、GKE on VMware は、任意の Google Cloud プロジェクトに関連付けられている BigQuery データセットに使用状況データを保存します。この Google Cloud プロジェクトは、使用状況測定プロジェクトと呼ばれます。
使用状況測定プロジェクトは、フリートホスト プロジェクトと同じにすることも、別のものにすることもできます。
使用状況測定を有効にするには、ユーザー クラスタ構成ファイルで、usageMetering.bigQueryProjectID
を使用状況測定プロジェクトの ID に設定します。
使用状況測定を有効にする場合は、使用状況測定プロジェクトで次の 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
使用状況測定プロジェクトのサービス アカウントにロールを付与する
使用状況測定サービス アカウントには、使用状況測定プロジェクトに対する特定のロールが付与されている必要があります。
詳しくは、使用状況測定サービス アカウントをご覧ください。
コンポーネント アクセス サービス アカウントの親プロジェクト
クラスタを作成するためには、GKE on VMware が Container Registry からコンポーネントをダウンロードするために使用できるサービス アカウントが必要です。このサービス アカウントは、コンポーネント アクセス サービス アカウントと呼ばれます。
コンポーネント アクセス サービス アカウントを作成した Google Cloud プロジェクトは、コンポーネント アクセス サービス アカウントの親と呼ばれます。このプロジェクトは、クラスタ構成ファイルで指定したプロジェクトの 1 つと同じプロジェクトにできます。もしくは、構成ファイルで指定したすべてのプロジェクトと異なったものにすることもできます。サービス アカウントと親プロジェクトの詳細については、サービス アカウントと Google Cloud プロジェクトについてをご覧ください。
コンポーネント アクセス サービス アカウントの親プロジェクトで必要な API を有効にするには:
Linux / macOS
gcloud services enable --project [PROJECT_ID] \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
ここで、[PROJECT_ID] はコンポーネント アクセス サービス アカウントの親プロジェクトの ID です。
Windows
gcloud services enable --project [PROJECT_ID] ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
ここで、[PROJECT_ID] はコンポーネント アクセス サービス アカウントの親プロジェクトの ID です。