使用 Anthos On-Prem API 客户端升级管理员或用户集群

本页面介绍如何使用 Google Cloud 控制台或 Google Cloud CLI 升级由 Anthos On-Prem API 管理的管理员或用户集群。如需了解升级要求、最佳实践以及有关升级流程的其他信息,请在继续之前参阅升级最佳实践

什么是 Anthos On-Prem API?

Anthos On-Prem API 是由 Google Cloud 托管的 API,可让您使用标准 Google Cloud 应用管理本地用户集群的生命周期。Anthos On-Prem API 在 Google Cloud 的基础架构中运行。 Google Cloud 控制台和 gcloud CLI 是 API 的客户端,它们使用 API 创建、更新、升级和删除数据中心中的集群。如果您的集群是使用 bmctl 创建的,您可以配置集群以使用 Anthos On-Prem API 管理,这可以让您使用标准客户端。

准备工作

安装命令行工具

如果要使用 gcloud CLI 升级集群,或者要使用 Connect 网关在本地计算机(而不是管理员工作站)上运行 kubectl 命令,请确保您安装了以下命令行工具:

  • 最新版本的 gcloud CLI
  • kubectl,用于对 Kubernetes 集群运行命令。如果您需要安装 kubectl,请按照相关说明操作。

IAM 要求

如果您不是项目所有者,则必须在创建用户集群的 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.13.1 升级到 1.13.2,或从 1.12.1 升级到 1.13.1。不允许升级到比已安装版本高多个次要版本的版本。

管理员集群可以管理相同或先前次要版本的用户集群。受管用户集群不能比管理员集群低多个次要版本。

注意以下限制:

  • 只有 1.13.1 或更高版本的用户集群才能使用控制台或 gcloud CLI 进行升级。如果您的用户集群为 1.13.0 或更低版本,请使用 bmctl 升级集群

  • 您必须先升级管理员集群,然后才能升级任何关联的用户集群。但是,在将管理员集群升级到 1.13.7 之前,请确保其关联的用户集群为 1.12.0 版或更高版本。

升级管理员集群

确保已使用 Anthos On-Prem API 注册管理员集群。如需了解详情,请参阅配置集群以使用 Anthos On-Prem API 管理

控制台

  1. 在控制台中,转到“Anthos 集群”页面。

    转到“Anthos 集群”页面

  2. 选择 Google Cloud 项目,然后选择要升级的集群。

  3. 详细信息面板中,点击更多详细信息

  4. 集群基本信息部分,点击 升级

  5. 选择目标版本列表中,选择您要升级到的版本。我们建议您升级到最新的补丁版本。

  6. 点击升级

在集群升级之前,系统会运行预检检查以验证集群状态和节点健康状况。预检检查通过后,管理员集群会开始升级。根据集群的大小,升级需要 30 分钟或更长时间才能完成。

如需查看升级的状态,请点击集群详情标签页上的显示详情

gcloud CLI

  1. 运行以下命令以使用您的 Google 帐号登录:

    gcloud auth login
    
  2. 更新 Google Cloud CLI 组件:

    gcloud components update
    
  3. 获取可用的升级目标版本列表:

    gcloud beta container bare-metal admin-clusters query-version-config \
    --cluster=ADMIN_CLUSTER_NAME \
    --project=FLEET_HOST_PROJECT_ID \
    --location=REGION
    

    请替换以下内容:

    • ADMIN_CLUSTER_NAME:管理员集群的名称。

    • FLEET_HOST_PROJECT_ID:管理员集群所属的舰队项目的 ID。这是创建集群时您在集群配置文件的 gkeConnect.projectID 字段中指定的项目 ID。

    • REGION:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。这是您在注册集群以使用 Anthos On-Prem API 进行管理时选择的区域。

  4. 升级集群:

    gcloud beta container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    请替换以下内容:

    • ADMIN_CLUSTER_NAME:要升级的管理员集群的名称。

    • FLEET_HOST_PROJECT_ID:管理员集群所属的舰队项目的 ID。这是创建集群时您在集群配置文件的 gkeConnect.projectID 字段中指定的项目 ID。

    • REGION:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。这是您在注册集群以使用 Anthos On-Prem API 进行管理时选择的区域。

    • VERSION:要升级到的 Anthos Clusters on Bare Metal 版本。根据上一个命令的输出指定版本。我们建议您升级到最新的补丁版本。

    根据集群的大小,升级需要 30 分钟或更长时间才能完成。

  5. 在集群升级时,请在另一个终端窗口中运行以下命令来检查集群的状态:

    gcloud beta container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

如需详细了解字段和标志,请参阅 gcloud beta container bare-metal admin-clusters 参考文档

升级用户集群

控制台

  1. 在控制台中,转到“Anthos 集群”页面。

    转到“Anthos 集群”页面

  2. 选择 Google Cloud 项目,然后选择要升级的集群。

  3. 详细信息面板中,点击更多详细信息

  4. 集群基本信息部分,点击 升级

  5. 选择目标版本列表中,选择您要升级到的版本。我们建议您升级到最新的补丁版本。

  6. 点击升级

在集群升级之前,系统会运行预检检查以验证集群状态和节点健康状况。预检检查通过后,用户集群会开始升级。根据集群的大小,升级需要 30 分钟或更长时间才能完成。

如需查看升级的状态,请点击集群详情标签页上的显示详情

gcloud CLI

  1. 运行以下命令以使用您的 Google 帐号登录:

    gcloud auth login
    
  2. 更新 Google Cloud CLI 组件:

    gcloud components update
    
  3. 获取可用的升级目标版本列表:

    gcloud beta container bare-metal clusters query-version-config \
    --cluster=USER_CLUSTER_NAME \
    --project=FLEET_HOST_PROJECT_ID \
    --location=REGION
    

    请替换以下内容:

    • USER_CLUSTER_NAME:要升级的用户集群的名称。

    • FLEET_HOST_PROJECT_ID:用户集群所属的舰队项目的 ID。这是您在创建集群时指定的项目。如果您的集群是使用 bmctl 创建的,则这是集群配置文件的 gkeConnect.projectID 字段中的项目 ID。

    • REGION:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。如果您的集群是使用 Anthos On-Prem API 客户端创建的,那么这是您在创建集群时指定的区域。如果您的集群是使用 bmctl 创建的,那么这是您在注册集群以使用 Anthos On-Prem API 进行管理时指定的区域。

  4. 升级集群:

    gcloud beta container bare-metal clusters update USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    请替换以下内容:

    • USER_CLUSTER_NAME:要升级的用户集群的名称。

    • FLEET_HOST_PROJECT_ID:用户集群所属的舰队项目的 ID。这是您在创建集群时指定的项目。如果您的集群是使用 bmctl 创建的,则这是集群配置文件的 gkeConnect.projectID 字段中的项目 ID。

    • REGION:Anthos On-Prem API 在其中运行并存储其元数据的 Google Cloud 区域。如果您的集群是使用 Anthos On-Prem API 客户端创建的,那么这是您在创建集群时指定的区域。如果您的集群是使用 bmctl 创建的,那么这是您在注册集群以使用 Anthos On-Prem API 进行管理时指定的区域。

    • VERSION:要升级到的 Anthos Clusters on Bare Metal 版本。根据上一个命令的输出指定版本。我们建议您升级到最新的补丁版本。

    根据集群的大小,升级需要 30 分钟或更长时间才能完成。

  5. 在集群升级时,请在另一个终端窗口中运行以下命令来检查集群的状态:

    gcloud beta container bare-metal clusters describe USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

如需详细了解字段和标志,请参阅 gcloud beta container bare-metal clusters 参考文档