Anthos On-Prem API 是一个 Google Cloud 托管的 API,可让您使用标准工具(Google Cloud 控制台、Google Cloud CLI 或 Terraform)管理本地集群的生命周期。使用这些工具之一创建集群时,API 会将集群状态的元数据存储在创建集群时指定的 Google Cloud 区域中。
此元数据可让您使用标准工具管理集群的生命周期。如果要使用这些工具查看集群详细信息或管理使用 bmctl
创建的集群的生命周期,则必须使用 Anthos On-Prem API 注册集群。
术语
通过注册集群,您可以使用控制台、gcloud CLI 或 Terraform 管理集群生命周期。
注册集群是将集群注册到舰队的单独过程。舰队是可以一起管理的 Kubernetes 集群的逻辑分组。所有 Anthos clusters on Bare Metal 都会在创建集群时注册到舰队。使用 bmctl 创建集群时,该集群会注册到您在集群配置文件的 gkeConnect.projectID
字段中指定的 Google Cloud 项目。此项目即为舰队宿主项目。如需详细了解舰队(包括使用场景、最佳做法和示例),请参阅舰队管理文档。
查看已注册的集群
所有舰队集群都显示在控制台中的 Anthos 集群和 GKE 集群页面上。两者都概述了整个舰队,对于 Anthos Clusters on Bare Metal,您可以查看哪些集群由 Anthos On-Prem API 管理。
如需查看您的舰队集群,请执行以下操作:
-
在控制台中,转到“Anthos 集群”页面。
转到“Anthos 集群”页面 -
选择 Google Cloud 项目。
- 如果 Anthos (Bare Metal) 显示在类型列中,则集群由 Anthos On-Prem API 管理。
- 如果类型列中显示外部,则表示集群不由 Anthos On-Prem API 管理。
使用要求
- 只有用户集群和管理员集群才能注册到 Anthos On-Prem API。不支持注册混合集群和独立集群。
- 1.13 版或更高版本。
如果您的组织设置了许可名单,以允许来自 Google API 和其他地址的流量通过代理服务器,请将以下条目添加到许可名单:
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
这些是 Anthos On-Prem API 的服务名称。
如果您不是项目所有者,则必须至少具有项目的 Identity and Access Management 角色
roles/gkeonprem.admin
。如需详细了解此角色具备的权限,请参阅 IAM 文档中的 GKE On-Prem 角色。
注册用户集群
要注册集群以供 Anthos On-Prem API 管理,请执行以下操作:
确保您拥有最新版本的 gcloud CLI,包括 gcloud CLI Beta 版组件。
如果您还没有 Beta 版组件,请运行以下命令进行安装:
gcloud components install beta
根据需要更新 gcloud CLI 组件:
gcloud components update
在舰队宿主项目中启用 Anthos On-Prem API:
gcloud services enable \ --project FLEET_HOST_PROJECT_ID \ gkeonprem.googleapis.com
将
FLEET_HOST_PROJECT_ID
替换为您的舰队宿主项目的 ID。这是在集群配置文件的gkeconnect
部分中配置的项目 ID。使用 Anthos On-Prem API 注册集群:
用户集群
如果需要填写
--admin-cluster-membership
标志的ADMIN_CLUSTER_NAME
占位符,请务必滚动。gcloud beta container bare-metal clusters enroll USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=LOCATION
请替换以下内容:
USER_CLUSTER_NAME
:您要注册的用户集群的名称。FLEET_HOST_PROJECT_ID
:舰队宿主项目的 ID。ADMIN_CLUSTER_NAME
:管理用户集群的管理员集群。管理员集群名称是用于唯一标识 Google Cloud 中的集群的完全指定集群名称中的最后一个部分。LOCATION
:运行 Anthos On-Prem API 的 Google Cloud 区域。请指定us-west1
或其他受支持的区域。注册集群后,此区域便无法更改。除了设置运行 Anthos On-Prem API 的区域之外,还要设置存储以下内容的区域:- Anthos On-Prem API 管理集群生命周期所需的用户集群元数据
- 系统组件的 Cloud Logging 和 Cloud Monitoring 数据
- Cloud Audit Logs 创建的管理员审核日志
管理员集群
gcloud beta container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=LOCATION
请替换以下内容:
ADMIN_CLUSTER_NAME
:您要注册的管理员集群的名称。FLEET_HOST_PROJECT_ID
:舰队宿主项目的 ID。ADMIN_CLUSTER_NAME
和FLEET_HOST_PROJECT_ID
用于为--admin-cluster-membership
标志构建完整指定的集群名称。LOCATION
:运行 Anthos On-Prem API 的 Google Cloud 区域。请指定us-west1
或其他受支持的区域。注册集群后,此区域便无法更改。除了设置运行 Anthos On-Prem API 的区域之外,还要设置存储以下内容的区域:- Anthos On-Prem API 管理集群生命周期所需的集群元数据
- 系统组件的 Cloud Logging 和 Cloud Monitoring 数据
- Cloud Audit Logs 创建的管理员审核日志
注册集群后,您可以使用以下命令获取有关集群的信息:
用户集群
- 要描述用户集群,请执行以下操作:
gcloud beta container bare-metal clusters describe USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
- 要列出您的用户集群,请执行以下操作:
gcloud beta container bare-metal clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
管理员集群
- 要描述管理员集群,请执行以下操作:
gcloud beta container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
- 如需列出管理员集群,请执行以下操作:
gcloud beta container bare-metal admin-clusters list \ --project=FLEET_HOST_PROJECT_ID \ --location=LOCATION
连接到集群
向 Anthos On-Prem API 注册集群后,您需要选择并配置身份验证方法,以便通过 Google Cloud 控制台管理集群。您选择的身份验证方法还可以控制通过命令行对集群的访问。详情请参阅以下内容: