本页面介绍如何升级 Anthos 不公开模式。
升级管理员集群和管理中心
基础架构运营商可以升级管理员集群以及 Anthos Management Center 及其组件。
准备环境
运行以下命令来下载新版本并设置执行权限:
export VERSION=UPGRADE_VERSION cd ~/ gsutil cp gs://anthos-private-mode-release/${VERSION}/get-anthos-private-mode.sh . chmod +x get-anthos-private-mode.sh ./get-anthos-private-mode.sh # 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 分钟才能完成,但也可能需要更长时间,具体取决于集群大小。
升级管理中心
基础架构运营商可以升级整个升级中心,也可以升级各个子组件。
选项 1:升级整个管理中心
基础架构运营商可以升级管理中心中的所有组件,包括管理中心本身。
检查管理中心的版本,以确认其版本较低:
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
检查管理中心的版本,以确认其已更新:
kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
选项 2:升级个别组件
基础架构运营商可以管理在管理中心中运行的特定组件的升级。从 0.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")]}'
假设该命令给出了
0.9.X
的当前版本和<=0.9.X
的当前版本限制条件。{"name":"anthos-config-management","version":"0.9.X","versionConstraint":"<=0.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: <=0.9.Y
添加替换后,管理中心会发布更改,以获取较新版本的 Anthos Config Management Operator。
运行以下命令以监控新版本的发布情况,预计将从之前的 0.9.X
更改为 0.9.Y
。
kubectl get adminoperator admin-operator \
--kubeconfig=ADMIN_KUBECONFIG \
-ojsonpath='{.status.components[?(@.name=="anthos-config-management")].version}' \
--watch
发布完成后,平台管理员可以通过管理中心使用新的 Anthos Config Management Operator。
升级用户集群
平台管理员可以使用 actl
命令行工具、管理中心或 API 来更新用户集群。
actl
运行以下命令以更新用户集群:
actl clusters baremetal upgrade CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
控制台
- 在管理中心控制台内,转到信息中心菜单。
- 点击升级标签以查看所有可用的升级。
- 点击要升级的集群对应的查看升级。
- 点击升级以查看升级详情,例如版本、说明和版本说明的链接。
- 点击继续进行确认。
- 点击升级以开始升级集群。
升级列表中的条目会显示升级 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 版本号。