升级 Anthos clusters on Bare Metal

升级 Anthos clusters on Bare Metal

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

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

以下示例展示从初始版本 1.6.0 到 Anthos clusters on Bare Metal 1.6.1 的升级过程。

您可以按照相同的方式将 1.6.1 升级到 1.6.2。也支持跳过升级 (1.6.0 到 1.6.2)。

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

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

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

  1. Cloud Storage 存储分区下载最新的 bmctl
    gsutil cp gs://anthos-baremetal-release/bmctl/1.6.2/linux-amd64/bmctl bmctl
    chmod a+x bmctl
    
  2. 修改集群配置 YAML 文件,将 Anthos clusters on Bare Metal 集群版本从 1.6.1 更改为 1.6.2。下面显示了来自管理员集群配置的示例:
  3. ---
    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.0 to 1.6.1, shown below
      anthosBareMetalVersion: 1.6.1
    
  4. 使用 bmctl upgrade cluster 命令完成升级,其中 CLUSTER_NAME 是集群的名称,ADMIN_KUBECONFIG 指定管理员集群 kubeconfig 文件的路径:
  5. bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
    

升级用户集群

成功升级管理员、混合或独立集群后,您可以升级其管理的用户集群。

首先,您需要修改相应的用户集群配置文件,然后发出 kubectl apply 命令以应用修改后的配置文件并完成升级。

  1. 修改用户集群配置 YAML 文件,将 Anthos clusters on Bare Metal 集群版本从 1.6.0 更改为 1.6.1
  2. ---
    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: user
      # Anthos cluster version.
      # Change the following line from 1.6.0 to 1.6.1, shown below
      anthosBareMetalVersion: 1.6.1
    
  3. 发出 kubectl 命令应用修改后的用户集群配置并创建集群:
  4.   kubectl --kubeconfig ADMIN_KUBECONFIG apply -f USER_CLUSTER_CONFIG
      
    ADMIN_KUBECONFIG 指定管理员集群 kubeconfig 文件的路径,USER_CLUSTER_CONFIG 指定您在上一部分中修改的用户集群 YAML 文件的路径。例如,对于名为 admin 的管理员集群和名为 user1 的用户集群配置,命令如下:
    kubectl --kubeconfig bmctl-workspace/admin/admin-kubeconfig apply /
      -f bmctl-workspace/user1/user1.yaml
    

验证用户集群升级

如需在升级后验证用户集群版本,请使用 kubectl get 命令返回版本。

例如,要在从 1.6.0 升级后验证集群版本是 1.6.1,请发出以下命令:

kubectl get cluster.baremetal.cluster.gke.io -n cluster-USER_CLUSTER_NAME \
  -o jsonpath='{.status.anthosBareMetalVersion}' --kubeconfig ADMIN_KUBECONFIG

其中:

  • ADMIN_KUBECONFIG 指定管理员集群 kubeconfig 文件的路径。
  • USER_CLUSTER_NAME 是您的用户集群的名称。

如果升级成功,该命令会返回升级后的版本号。请注意,升级可能需要 30 分钟才能完成。