本页面介绍如何使用 Google Cloud 控制台或 Google Cloud CLI 升级由 Anthos On-Prem API 管理的 GKE on VMware 用户集群。在升级用户集群之前,我们建议您先查看升级最佳实践。
什么是 Anthos On-Prem API?
Anthos On-Prem API 是由 Google Cloud 托管的 API,可让您使用 Terraform 和标准 Google Cloud 工具管理本地集群的生命周期。Anthos On-Prem API 在 Google Cloud 的基础架构中运行。Terraform、Google Cloud 控制台和 Google Cloud CLI 都是该 API 的客户端,它们使用该 API 创建、更新、升级和删除数据中心中的集群。如果您使用标准客户端创建集群,则集群会在 Anthos On-Prem API 中注册,这意味着您可以使用标准客户端来管理集群的生命周期(有一些例外情况)。如果您的集群是使用 gkectl
创建的,您可以在 Anthos On-Prem API 中注册集群,这使您可以使用标准客户端。
准备工作
设置 gcloud CLI
如需使用 gcloud CLI 或 Terraform 升级集群:
确保您拥有最新版本的 gcloud CLI。根据需要更新 gcloud CLI 组件:
gcloud components update
IAM 要求
如果您不是 Project Owner,则必须在创建集群的 Google Cloud 项目中获得 Identity and Access Management 角色 roles/gkeonprem.admin
。如需详细了解此角色具备的权限,请参阅 IAM 文档中的 GKE On-Prem 角色。
如需使用控制台升级集群,您至少需要以下角色:
roles/container.viewer
。此角色允许用户在控制台中查看 GKE 集群页面和其他容器资源。如需详细了解此角色中包含的权限或授予具有读写权限的角色,请参阅 IAM 文档中的 Kubernetes Engine 角色。roles/gkehub.viewer
。此角色允许用户在控制台中查看集群。如需详细了解此角色包含的权限或授予具有读写权限的角色,请参阅 IAM 文档中的 GKE Hub 角色。
升级选项
如果您的管理员集群为 1.14 版或更高版本,则可以使用以下选项来升级由 Anthos On-Prem API 管理的用户集群:
- 使用下一部分中所述的预览版升级过程。
- 如需使用
gkectl
或控制台进行升级,而无需预览升级过程,请参阅升级 GKE on VMware。
您可以直接升级到同一或下一次要发布版本中的某个版本。例如,您可以从 1.14.1 升级到 1.14.2,或从 1.13.1 升级到 1.14.1。不允许升级到比已安装版本高多个次要版本的版本。
升级用户集群
对于 1.14 及更高版本的管理员集群,管理员集群上部署了控制器,可让您使用 Anthos On-Prem API 客户端升级用户集群。在用户集群升级期间,系统会使用 Anthos On-Prem API 注册管理员集群(如果尚未注册),从而无需在管理员工作站上运行任何命令即可升级用户集群。启动用户集群升级时,Anthos On-Prem API 会触发控制器,为升级做好准备。控制器会下载并安装软件包。接下来,控制器会部署用于管理用户集群的组件的新版本。
如需升级用户集群,请执行以下操作:
控制台
在控制台中,进入 GKE Enterprise 集群页面。
选择 Google Cloud 项目,然后选择要升级的集群。
在详细信息面板中,点击更多详细信息。
在集群基本信息部分,点击
升级。在选择目标版本列表中,选择您要升级到的版本。精选列表仅包含最新的补丁版本。
点击升级。
在集群升级之前,系统会运行预检检查以验证集群状态和节点健康状况。预检检查通过后,用户集群会开始升级。完成升级大约需要 30 分钟。
如需查看升级的状态,请点击集群详情标签页上的显示详情。
gcloud CLI
运行以下命令以使用您的 Google 账号登录:
gcloud auth login
更新 Google Cloud CLI 组件:
gcloud components update
获取可用的升级目标版本列表:
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION
替换以下内容:
USER_CLUSTER_NAME
:用户集群的名称。FLEET_HOST_PROJECT_ID
:用户集群所属的舰队项目的 ID。这是您在创建集群时指定的项目。如果您的集群是使用gkectl
创建的,则这是集群配置文件的gkeConnect.projectID
字段中的项目 ID。REGION
:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。如果您的集群是使用 Anthos On-Prem API 客户端创建的,那么这是您在创建集群时指定的区域。如果集群是使用gkectl
创建的,则这是您在注册集群以使用 Anthos On-Prem API 进行管理时指定的区域。
升级集群:
gcloud container vmware clusters upgrade USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION \ --version=VERSION
替换以下内容:
USER_CLUSTER_NAME
:要升级的用户集群的名称。FLEET_HOST_PROJECT_ID
:用户集群所属的舰队项目的 ID。这是您在创建集群时指定的项目。如果您的集群是使用gkectl
创建的,则这是集群配置文件的gkeConnect.projectID
字段中的项目 ID。REGION
:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。如果集群是使用 Anthos On-Prem API 客户端创建的,则这是您在创建集群时选择的区域。如果集群是使用gkectl
创建的,则这是您在注册集群以使用 Anthos On-Prem API 进行管理时指定的区域。VERSION
:要升级到的 GKE on VMware 版本。根据上一个命令的输出指定版本。我们建议您升级到最新的补丁版本。
完成升级大约需要 30 分钟。
在集群升级时,请在另一个终端窗口中运行以下命令来检查集群的状态:
gcloud container vmware clusters describe USER_CLUSTER_NAME \ --project=FLEET_HOST_PROJECT_ID \ --location=REGION
如需了解这些字段和标志的更多信息,请参阅 gcloud container vmware clusters 升级。