本文档介绍如何升级用户集群中的控制平面和所选节点池。
Ubuntu 和 COS 节点池支持升级所选节点池,但 Windows 节点池不支持。
在某些情况下,您可能需要升级用户集群中的部分(而不是全部)节点池。例如,您可以先升级流量较少或运行最不重要的工作负载的节点池。确信工作负载在新版本上正常运行后,您可以升级其他节点池,直到最终升级所有节点池。
升级管理员工作站
将管理员工作站升级到目标版本。 如需了解相关说明,请参阅升级 GKE on VMware。
将新的操作系统映像导入 vSphere
运行 gkectl prepare
,将操作系统映像导入 vSphere:
gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
替换以下内容:
TARGET_VERSION:升级操作的目标版本
ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
查看可用的版本
运行以下命令,查看哪些版本可以升级:
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
输出会显示当前版本和可用于升级的版本。例如:
gkectl version: 1.14.0-gke.x current admin cluster version: 1.13.1-gke.35 current user cluster versions: - 1.13.1-gke.35 available admin cluster versions: - 1.13.1-gke.35 available user cluster versions: - 1.13.1-gke.35 - 1.14.0-gke.x
升级用户集群控制平面和所选节点池
按照升级用户集群中的说明操作。在用户集群配置文件中,将 gkeOnPremVersion
设置为升级操作的目标版本。对于要升级的每个节点池,移除 nodePools.nodePool[i].gkeOnPremVersion
字段或将其设置为空字符串。对于您不想升级的每个节点池,请将 nodePools.nodePool[i].gkeOnPremVersion
设置为当前版本。
例如,假设您的用户集群为 1.13.1-gke.35 版,并且有两个节点池:pool-1
和 pool-2
。此外,还假设您希望将控制平面和 pool-1
升级到 1.14.0-gke.x,但希望 pool-2
保留为 1.13.1-gke.35 版。
以下是用户集群配置文件的一部分。它指定将控制平面和 pool-1
将升级到 1.14.0-gke.x 版,但 pool-2
将保持为当前版本 1.13.1-gke.35。
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: 1.13.1-gke.35 cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
按照升级用户集群中的说明继续升级。
升级其他节点池
假设 pool-1
工作正常,而现在您想要升级 pool-2
。
在用户集群配置文件中,移除 pool-2
下的 gkeOnPremVersion
,或将其设置为空字符串:
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
运行 gkectl update cluster
以应用更改:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
USER_CLUSTER_CONFIG:用户集群配置文件的路径
问题排查
如果在升级节点池后遇到问题,可以回滚到先前版本。如需了解详情,请参阅在升级后回滚节点池。