升级在断开连接模式下运行的 Anthos

本页面介绍如何升级在断开连接模式下运行的 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.* 不适用

准备环境

  1. 运行以下命令来下载新版本并设置执行权限:

    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 替换为您要升级到的新版本。

  2. 使用以下命令将新映像上传到私有注册表中。请务必使用版本 UPGRADE_VERSION 中的 actl

    actl images push --private-registry=${PRIVATE_REGISTRY} \
      --images ~/anthos-baremetal-private-mode
    

    上传过程会自动跳过注册表中已存在的映像。

  3. 将 Helm 图表上传到 Container Registry

升级管理员集群

如需升级管理员集群,请仅使用以下更改更新管理员集群配置文件,然后运行 actl clusters baremetal upgrade 命令以完成升级。

  1. 在集群配置管理 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 版本号。

  2. 运行以下命令以更新管理员集群。请务必使用版本 UPGRADE_VERSION 中的 actl

    actl clusters baremetal upgrade admin --kubeconfig=ADMIN_KUBECONFIG
    

升级过程可能需要大约 15 到 20 分钟才能完成,但也可能需要更长时间,具体取决于集群大小。

升级 Management Center

基础架构运维者可以升级整个升级中心,也可以升级各个子组件。

选项 1:升级整个 Management Center

基础架构运营商可以升级 Management Center 中的所有组件,包括 Management Center 本身。

  1. 检查管理中心的版本,以确认其版本较低:

    kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    

    ADMIN_KUBECONFIG 替换为管理员集群的 kubeconfig 文件的路径。

  2. 可选:为升级运行预检检查:

    actl platform management-center upgrade --preflight-check-only --kubeconfig=ADMIN_KUBECONFIG
    
  3. 启动升级(通常需要 10-15 分钟才能完成):

    actl platform management-center upgrade --kubeconfig=ADMIN_KUBECONFIG
    
  4. 检查 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/ 下。

  1. 应用新的 Anthos Config Management operator 软件包规范。

    kubectl apply -f ~/anthos-baremetal-private-mode/services/anthos-config-management/package-spec.yaml \
    --kubeconfig=ADMIN_KUBECONFIG
    
  2. 检查 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"}
    
  3. 通过修改 Admin Operator 对象中的版本限制条件来启用新版本。

    kubectl edit AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    
  4. 在编辑器中,在 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

控制台

  1. 在 Management Center Console 内,转到信息中心菜单。
  2. 点击升级标签以查看所有可用的升级。
  3. 点击要升级的集群对应的查看升级
  4. 点击升级以查看升级详情,例如版本、说明和版本说明的链接。
  5. 点击继续进行确认。
  6. 点击升级以开始升级集群。

升级列表中的条目会显示升级 Upgrade in progress,直到升级完成。

API

您可以通过修改 Cluster 资源中的版本字符串来升级用户集群。

  1. 运行以下命令以修改用户集群的 Cluster 资源。

    kubectl edit cluster CLUSTER_NAME -n cluster-CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
    
  2. 更新 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 版本号。

后续步骤