升级 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
命令以完成升级。
- 从 Cloud Storage 存储分区下载最新的
bmctl
:gsutil cp gs://anthos-baremetal-release/bmctl/1.6.2/linux-amd64/bmctl bmctl
chmod a+x bmctl
- 修改集群配置 YAML 文件,将 Anthos clusters on Bare Metal 集群版本从
1.6.1
更改为1.6.2
。下面显示了来自管理员集群配置的示例: - 使用
bmctl upgrade cluster
命令完成升级,其中 CLUSTER_NAME 是集群的名称,ADMIN_KUBECONFIG 指定管理员集群 kubeconfig 文件的路径:
--- 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
bmctl upgrade cluster -c CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
升级用户集群
成功升级管理员、混合或独立集群后,您可以升级其管理的用户集群。
首先,您需要修改相应的用户集群配置文件,然后发出 kubectl apply
命令以应用修改后的配置文件并完成升级。
- 修改用户集群配置 YAML 文件,将 Anthos clusters on Bare Metal 集群版本从
1.6.0
更改为1.6.1
- 发出
kubectl
命令应用修改后的用户集群配置并创建集群:
--- 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
kubectl --kubeconfig ADMIN_KUBECONFIG apply -f USER_CLUSTER_CONFIGADMIN_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 分钟才能完成。