适用于 GKE on VMware 的 Google Cloud 项目

本文档介绍如何将一个或多个 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

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

向舰队宿主项目上的服务账号授予角色

您的连接注册服务账号必须获得舰队宿主项目上的特定角色。如需了解详情,请参阅连接注册服务账号

您的日志记录监控服务账号必须获得队列宿主项目上的特定角色。如需了解详情,请参阅日志记录和监控服务账号

您的审核日志服务账号必须获得队列宿主项目上的特定角色。如需了解详情,请参阅审核日志记录服务账号

向舰队注册集群

您需要在创建集群时将集群注册到舰队。注册的详细信息取决于您用来创建集群的工具:

工具登记方式
gkectl填写集群配置文件中的 gkeConnect.projectID 字段。
Google Cloud 控制台系统会自动注册集群。 您用于创建集群的 Google Cloud 项目将成为舰队宿主项目。
Terraform填写 .tfvars 文件中的 project_id 字段。
gcloud CLI调用 gcloud 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

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 项目被称为组件访问服务账号的父级parent。此项目可以与舰队宿主项目相同,也可以不同。如需详细了解服务帐号和父项目,请参阅了解服务帐号和 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

后续步骤

创建服务账号和密钥