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

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

前提条件

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

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

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

    • 虽然高级集群需要高可用性 (HA) 用户集群,但您仍然可以按照本指南将非 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:用户集群配置文件的路径。

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

改用高级集群后的主要区别

与标准集群相比,将集群升级或更新为高级集群会带来以下几项主要差异。以下是高级集群中的主要变更:

  • 资源位置:集群和机器资源不再位于用户集群中。这些资源仅位于管理员集群中。

  • NodeExternalIP:未在节点上设置 NodeExternalIP

  • cert-manager 安装cert-manager 会自动安装在高级集群上。如果您在集群中安装了 cert-manager,则更新或升级到高级集群会使用高级集群版本覆盖它。

如需全面了解功能差异,请参阅功能比较表