如何回滚Google Cloud中Kubernetes集群的Stackdriver版本至稳定版

回滚Google Kubernetes Engine (GKE) 集群到稳定版本
嘿,我来帮你搞定GKE集群回滚到稳定版本的事儿!按照下面的步骤操作就好:
1. 先确认当前版本和目标稳定版本
打开Cloud Shell或者本地已经配置好gcloud命令行工具,先查清楚你的集群当前在用的版本,以及你所在区域的GKE稳定版本:
# 替换CLUSTER_NAME为你的集群名,ZONE为集群所在区域(多区域集群请用--region REGION) gcloud container clusters describe CLUSTER_NAME --zone ZONE --format="value(currentMasterVersion)" # 查看当前区域内的GKE稳定版本 gcloud container get-server-config --zone ZONE --format="value(channels.stable.version)"
2. 执行回滚操作
确认好目标稳定版本后,先回滚控制面(主节点):
gcloud container clusters upgrade CLUSTER_NAME --zone ZONE --master --cluster-version TARGET_STABLE_VERSION
把TARGET_STABLE_VERSION换成你刚才查到的稳定版本号。如果需要回滚节点池,就加上节点池名称参数:
gcloud container clusters upgrade CLUSTER_NAME --zone ZONE --node-pool NODE_POOL_NAME --cluster-version TARGET_STABLE_VERSION
小贴士:回滚主节点时控制面会短暂不可用,建议选业务低峰期操作;节点池回滚是滚动更新,只要你的应用配置了足够的副本数和PodDisruptionBudget,就不会影响业务连续性。
3. 验证回滚是否成功
等操作完成后,用下面的命令确认版本已经切换:
# 检查主节点版本 gcloud container clusters describe CLUSTER_NAME --zone ZONE --format="value(currentMasterVersion)" # 检查节点池版本 gcloud container node-pools describe NODE_POOL_NAME --cluster CLUSTER_NAME --zone ZONE --format="value(version)"
也可以直接去GCP控制台的GKE页面查看集群状态,确保所有组件都正常运行。
额外提醒
如果这次问题是自动升级导致的,回滚后建议把集群升级通道设为稳定通道,避免再自动更新到不稳定版本:
gcloud container clusters update CLUSTER_NAME --zone ZONE --update-channel stable
要是回滚中遇到报错,直接看gcloud的输出日志,或者去GCP控制台的操作历史里找详细错误信息排查就行。
内容的提问来源于stack exchange,提问作者user2137817
相关产品推荐
相关产品推荐

