本文档介绍了如何将集群从 1.32 版更新或升级为高级集群。
前提条件
在更新或升级集群之前,请务必先诊断集群。
确保您的集群仅使用推荐的功能。
在开始更新或升级之前,请验证您的集群是否未使用任何高级集群不支持的功能。如果有任何不受支持的功能处于有效状态,请先使用 update 将其停用。
- 虽然高级集群需要高可用性 (HA) 用户集群,但您仍然可以按照本指南将非 HA 用户集群更新或升级为 HA 高级集群。
您必须先将管理员集群更新或升级为高级集群,然后才能更新或升级任何用户集群。
将管理员集群更新或升级为高级集群
更新
为高级集群做好准备:
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 文件的路径
在管理员集群配置文件中,将
enableAdvancedCluster
设置为true
。将管理员集群更新为高级集群:
gkectl update admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG
:管理员集群 kubeconfig 文件的路径ADMIN_CLUSTER_CONFIG
:管理员集群配置文件的路径。
该命令将重新创建管理员集群中的所有节点。
升级
根据需要升级管理员工作站。
为高级集群做好准备:
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 文件的路径
在管理员集群配置文件中,将
enableAdvancedCluster
设置为true
。确保管理员集群配置文件中的
bundlepath
字段与您要升级到的软件包的路径相匹配。将管理员集群升级为高级集群:
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG
:管理员集群 kubeconfig 文件的路径ADMIN_CLUSTER_CONFIG
:管理员集群配置文件的路径。
该命令将滚动重新创建管理集群中的所有节点。
将管理员集群更新或升级为高级集群后:
您现有的非高级用户集群会继续正常运行。
您只能创建由高级管理员集群管理的高级用户集群。
我们建议您随后尽快将所有用户集群升级为高级集群,以保持一致且功能齐全的环境。
将用户集群更新或升级为高级集群
更新
如果用户集群控制平面不具备高可用性 (HA):
将
masterNode.replicas
从 1 更改为 3。将用户集群控制平面节点的静态 IP 地址添加到
network.controlPlaneIPBlock.ips
部分。
为高级集群做好准备:
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 文件的路径
在用户集群配置文件中,将
enableAdvancedCluster
设置为true
。将用户集群更新为高级集群:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG
:管理员集群 kubeconfig 文件的路径USER_CLUSTER_CONFIG
:用户集群配置文件的路径。
该命令将推出重新创建用户集群中的所有节点。
升级
如果用户集群控制平面不具备高可用性 (HA):
将
masterNode.replicas
从 1 更改为 3。将用户集群控制平面节点的静态 IP 地址添加到
network.controlPlaneIPBlock.ips
部分。
为高级集群做好准备:
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 文件的路径
在用户集群配置文件中,将
enableAdvancedCluster
设置为true
。确保用户集群配置文件中的
gkeOnPremVersion
字段与您要升级到的目标版本相匹配。将用户集群升级为高级集群:
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
,则更新或升级到高级集群会使用高级集群版本覆盖它。
如需全面了解功能差异,请参阅功能比较表。