更新或升级集群为高级集群

本文档介绍了如何从 1.32 版更新或升级集群为高级集群

前提条件

  • 在更新或升级之前,请务必先诊断集群。

  • 确保您的集群仅使用推荐的功能

  • 在开始更新或升级之前,请验证您的集群是否使用了高级集群不支持的任何功能。如果有任何不受支持的功能处于启用状态,请先使用更新功能将其停用。

    • 虽然高可用性 (HA) 用户集群是高级集群的必需条件,但您仍然可以按照本指南更新或将非 HA 用户集群升级为高可用性高级集群。
  • 您必须先更新或升级管理员集群为高级集群,然后才能更新或升级任何用户集群。

更新或升级管理员集群为高级集群

更新

  1. 为高级集群做好准备:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    替换以下内容:

    • BUNDLE_PATH:软件包文件的路径。此文件位于 /var/lib/gke/bundles/ 中的管理员工作站上。例如:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径

  2. 管理员集群配置文件中的 enableAdvancedCluster 设置为 true

  3. 将管理员集群更新为高级集群:

    gkectl update admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
    • ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径。

    该命令将重新创建管理员集群中的所有节点。

升级

  1. 如有需要,请升级管理员工作站

  2. 为高级集群做好准备:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    替换以下内容:

    • BUNDLE_PATH:软件包文件的路径。此文件位于 /var/lib/gke/bundles/ 中的管理员工作站上。例如:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径

  3. 管理员集群配置文件中的 enableAdvancedCluster 设置为 true

  4. 确保管理员集群配置文件中的 bundlepath 字段与您要升级到的软件包的路径相匹配。

  5. 将管理员集群升级为高级集群:

    gkectl upgrade admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
    • ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径。

    该命令将重新创建管理集群中的所有节点。

管理员集群更新或升级为高级集群后:

  • 您现有的非高级用户集群会继续正常运行。

  • 您只能创建由高级管理员集群管理的高级用户集群。

我们建议您尽快将所有用户集群升级为高级集群,以便保持一致且功能齐全的环境。

更新或升级用户集群为高级集群

更新

  1. 如果用户集群控制平面不具备高可用性 (HA),则:

    1. masterNode.replicas 从 1 更改为 3。

    2. 将用户集群控制平面节点的静态 IP 地址添加到 network.controlPlaneIPBlock.ips 部分。

  2. 为高级集群做好准备:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    替换以下内容:

    • BUNDLE_PATH:软件包文件的路径。此文件位于 /var/lib/gke/bundles/ 中的管理员工作站上。例如:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径

  3. 用户集群配置文件中的 enableAdvancedCluster 设置为 true

  4. 将用户集群更新为高级集群:

    gkectl update cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
    • USER_CLUSTER_CONFIG:用户集群配置文件的路径。

    该命令将重新创建用户集群中的所有节点。

升级

  1. 如果用户集群控制平面不具备高可用性 (HA),则:

    1. masterNode.replicas 从 1 更改为 3。

    2. 将用户集群控制平面节点的静态 IP 地址添加到 network.controlPlaneIPBlock.ips 部分。

  2. 为高级集群做好准备:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    替换以下内容:

    • BUNDLE_PATH:软件包文件的路径。此文件位于 /var/lib/gke/bundles/ 中的管理员工作站上。例如:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径

  3. 用户集群配置文件中的 enableAdvancedCluster 设置为 true

  4. 确保用户集群配置文件中的 gkeOnPremVersion 字段与升级操作的目标版本相匹配。

  5. 将用户集群升级到高级集群:

    gkectl upgrade cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
    • USER_CLUSTER_CONFIG:用户集群配置文件的路径。

    该命令将重新创建用户集群中的所有节点。