本页面介绍如何升级在断开连接模式下运行的 Anthos。
升级管理员集群和 Anthos Management Center
基础架构运维者可升级管理员集群和 Management Center 及其组件。
版本可支持性
在断开连接模式下运行的 Anthos 现在遵循 Anthos Config Management 和 Anthos Service Mesh 版本的弃用政策。每个版本可以处于以下四种状态之一:
- 受支持:此版本可被在断开连接模式下运行的 Anthos 识别并且可以安装。它可以在最新的在断开连接模式下运行的 Anthos 集群版本中运行。下一个在断开连接模式下运行的 Anthos 次要版本可能会弃用受支持的版本。
- 已弃用:此版本可被在断开连接模式下运行的 Anthos 识别并且可以安装。它可以在最新的在断开连接模式下运行的 Anthos 集群版本中运行。下一个在断开连接模式下运行的 Anthos 次要版本将不再支持已弃用版本。
- 不受支持:此版本仍可被在断开连接模式下运行的 Anthos 安装识别,但无法再安装。它可能无法在最新的在断开连接模式下运行的 Anthos 集群版本中运行。您可以移除不受支持的版本,也可以将其升级到新版本。下一个在断开连接模式下运行的 Anthos 次要版本将移除不受支持的版本。
- 已移除:此版本无法被在断开连接模式下运行的 Anthos 安装识别。它无法升级到新版本,也无法自动卸载。
每个 Anthos Config Management 和 Anthos Service Mesh 版本的生命周期都遵循“受支持”“已弃用”“不受支持”“已移除”的演变顺序。
下表展示了 Anthos Config Management 和 Anthos Service Mesh 版本的弃用政策。
在断开连接模式下运行的 Anthos 1.11 支持 已弃用 不支持 已移除 Anthos Config Management 1.11.1 不适用 1.8.*、1.9.* 1.7.* Anthos Service Mesh 1.11.8-asm.1 1.10.* 1.9.* 不适用
准备环境
运行以下命令来下载新版本并设置执行权限:
cd ~/ # Download the script which helps download all the latest components export VERSION=UPGRADE_VERSION # Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download export INSTALLER_DIGEST= export INSTALLER=get-anthos-private-mode-$VERSION.sh gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER . if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER # Note: ~/anthos-baremetal-private-mode should point to the new version. ls -al anthos-baremetal-private-mode cd ~/anthos-baremetal-private-mode
将
UPGRADE_VERSION
替换为您要升级到的新版本。使用以下命令将新映像上传到私有注册表中。请务必使用版本 UPGRADE_VERSION 中的
actl
。actl images push --private-registry=${PRIVATE_REGISTRY} \ --images ~/anthos-baremetal-private-mode
上传过程会自动跳过注册表中已存在的映像。
升级管理员集群
如需升级管理员集群,请仅使用以下更改更新管理员集群配置文件,然后运行 actl clusters baremetal upgrade
命令以完成升级。
在集群配置管理 YAML 文件中,更新版本字符串并添加
baremetal.cluster.gke.io/private-mode: "true"
注释。apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: admin namespace: cluster-admin annotations: baremetal.cluster.gke.io/private-mode: "true" spec: anthosBareMetalVersion: VERSION
将
VERSION
替换为新的 Anthos on Bare Metal 版本号。运行以下命令以更新管理员集群。请务必使用版本 UPGRADE_VERSION 中的
actl
。actl clusters baremetal upgrade admin --kubeconfig=ADMIN_KUBECONFIG
升级过程可能需要大约 15 到 20 分钟才能完成,但也可能需要更长时间,具体取决于集群大小。
升级 Management Center
基础架构运维者可以升级整个升级中心,也可以升级各个子组件。
选项 1:升级整个 Management Center
基础架构运营商可以升级 Management Center 中的所有组件,包括 Management Center 本身。
检查管理中心的版本,以确认其版本较低:
kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
将 ADMIN_KUBECONFIG 替换为管理员集群的 kubeconfig 文件的路径。
可选:为升级运行预检检查:
actl platform management-center upgrade --preflight-check-only --kubeconfig=ADMIN_KUBECONFIG
启动升级(通常需要 10-15 分钟才能完成):
actl platform management-center upgrade --kubeconfig=ADMIN_KUBECONFIG
检查 Management Center 的版本,以确认其已更新:
kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
方法 2:升级单个组件
基础架构运维者可以管理在 Management Center 中运行的特定组件的升级。从 1.9 版开始,有三个组件可以单独升级:Anthos Config Management Operator、Anthos Service Mesh Operator 和 Anthos on Bare Metal。
将映像上传到 Container Registry 后,您需要发布新版本中随附的软件包规范。例如,Anthos Config Management operator 和 Anthos Service Mesh operator 的软件包规范位于 services/
下。
应用新的 Anthos Config Management operator 软件包规范。
kubectl apply -f ~/anthos-baremetal-private-mode/services/anthos-config-management/package-spec.yaml \ --kubeconfig=ADMIN_KUBECONFIG
检查 Anthos Config Management Operator 的当前组件状态。
kubectl get adminoperator admin-operator \ --kubeconfig=ADMIN_KUBECONFIG \ -ojsonpath='{.status.components[?(@.name=="anthos-config-management")]}'
假设该命令给出了
1.9.X
的当前版本和<=1.9.X
的当前版本限制条件。{"name":"anthos-config-management","version":"1.9.X","versionConstraint":"<=1.9.X"}
通过修改 Admin Operator 对象中的版本限制条件来启用新版本。
kubectl edit AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
在编辑器中,在
spec.updateConfigOverride.policies
下找到更新政策,并相应地增加组件版本。如果省略spec.updateConfigOverride
或具有空的结构值 ({}
),请按如下方式添加政策。spec: updateConfigOverride: policies: - name: anthos-config-management versionConstraint: <=1.9.Y
添加替换后,管理中心会发布更改,以获取较新版本的 Anthos Config Management Operator。
运行以下命令以监控新版本的发布情况,预计将从之前的 1.9.X
更改为 1.9.Y
。
kubectl get adminoperator admin-operator \
--kubeconfig=ADMIN_KUBECONFIG \
-ojsonpath='{.status.components[?(@.name=="anthos-config-management")].version}' \
--watch
发布完成后,平台管理员可以通过 Management Center 使用新的 Anthos Config Management Operator。
升级用户集群
平台管理员可以使用 actl
命令行工具、Management Center 或 API 来更新用户集群。
actl
运行以下命令以更新用户集群:
actl clusters baremetal upgrade CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
控制台
- 在 Management Center Console 内,转到信息中心菜单。
- 点击升级标签以查看所有可用的升级。
- 点击要升级的集群对应的查看升级。
- 点击升级以查看升级详情,例如版本、说明和版本说明的链接。
- 点击继续进行确认。
- 点击升级以开始升级集群。
升级列表中的条目会显示升级 Upgrade in progress
,直到升级完成。
API
您可以通过修改 Cluster
资源中的版本字符串来升级用户集群。
运行以下命令以修改用户集群的
Cluster
资源。kubectl edit cluster CLUSTER_NAME -n cluster-CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
更新
spec.anthosBareMetalVersion
中的版本字符串,然后控制器将进行升级。apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME annotations: baremetal.cluster.gke.io/private-mode: "true" spec: type: user anthosBareMetalVersion: VERSION
将
VERSION
替换为新的 Anthos on Bare Metal 版本号。