升级 Anthos clusters on Bare Metal

升级 Anthos clusters on Bare Metal

安装新版 bmctl 时,您可以升级使用较早版本创建的现有集群。将集群升级到最新的 Anthos Clusters on Bare Metal 版本可为集群新增功能和修复,还可确保您的集群保持受支持状态。您可以使用 bmctl upgrade cluster 命令升级管理员集群、独立集群或用户集群。

集群升级之前会运行预检检查以验证集群状态和节点运行状况。

以下示例展示了从版本 1.6.2 到 Anthos clusters on Bare Metal 1.7.7 的升级流程。

您可以按照相同的方式将任何给定版本升级为下一个可用版本(例如,从 1.6.1 升级到 1.6.2)。也支持跳过升级,例如从 1.6.1 升级到 1.7.7。

Anthos clusters on Bare Metal 1.7.0 及更高版本支持每个节点最多 250 个 pod 的配置。此配置只能在集群创建期间完成,无法为现有集群更新此配置,包括从较低版本升级到 1.7.0 的集群和新的 1.7.7 集群。

在 Anthos clusters on Bare Metal 中升级管理员、独立、混合或用户集群

下载并安装新版 bmctl 时,您可以升级使用较早版本创建的管理员集群、混合集群、独立集群和用户集群。对于给定的 bmctl 版本,集群只能升级到同一版本。

首先,您需要下载最新的 bmctl,然后修改相应的集群配置文件,最后发出 bmctl upgrade cluster 命令以完成升级。

  1. Cloud Storage 存储分区下载最新的 bmctl,然后使用 chmod 向所有用户授予 bmctl 执行权限:

    gsutil cp gs://anthos-baremetal-release/bmctl/1.7.7/linux-amd64/bmctl bmctl
    chmod a+x bmctl
    
  2. 修改集群配置文件,将 Anthos clusters on Bare Metal 集群版本从 1.6.2 更改为 1.7.7。下面显示了来自管理员集群配置的示例:

    ---
    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      # Cluster type. This can be:
      #   1) admin:  to create an admin cluster. This can later be used to create user clusters.
      #   2) user:   to create a user cluster. Requires an existing admin cluster.
      #   3) hybrid: to create a hybrid cluster that runs admin cluster components and user workloads.
      #   4) standalone: to create a cluster that manages itself, runs user workloads, but does not manage other clusters.
      type: admin
      # Anthos cluster version.
      # Change the following line from 1.6.2 to 1.7.7, shown below
      anthosBareMetalVersion: 1.7.7
    
  3. 将集群升级到 1.7.7 时,您必须通过 Connect 将集群注册到项目舰队(如果尚未注册)。

    1. 按照“启用 Google 服务和服务帐号”页面上的配置服务帐号以与 Connect 搭配使用中的说明,手动创建服务帐号并检索 JSON 密钥文件。
    2. 在集群配置文件的关联 gkeConnectAgentServiceAccountKeyPathgkeConnectRegisterServiceAccountKeyPath 字段中引用下载的 JSON 密钥。
  4. 使用 bmctl upgrade cluster 命令完成升级:

    bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
    

    请替换以下内容:

    • CLUSTER_NAME:要升级的集群的名称。
    • ADMIN_KUBECONFIG:管理员集群 kubeconfig 文件的路径。