我们在GKE上部署了相当大的kubernetes,我们希望通过启用自动升级使我们的生活更轻松一些。 documentation on the topic告诉您如何启用它,但不告诉您如何工作。
我们在测试群集上启用了该功能,但是从未升级任何节点(尽管UI一直困扰我们“升级可用”)。
文档称它将更新为“最新稳定”版本,并且“由GKE团队酌情定期进行”-两者都没有很大帮助。
用户界面始终显示:“下一次自动升级:未安排”
有人在生产中使用了此功能,可以阐明它的实际作用吗?
1.11.7-gke.3
1.11.5-gke.X
1.11.7-gke.6
1.11.7-gke.3
(默认群集版本)或1.11.7-gke.6
(最新版本)1.11.5-gke.X
上停留了一周以上答案 0 :(得分:0)
此功能将运行“旧” Kubernetes版本的节点池中的虚拟机(Kubernetes节点)替换为运行“新”版本的VM。
节点池的“升级”操作是以滚动方式完成的:不同于GKE删除所有VM并同时重新创建它们(除非集群中只有1个节点)。默认情况下,这些节点将被更新的节点一对一替换(尽管这可能会更改)。
GKE内部主要使用managed instance groups的功能来管理节点池上的操作。
您可以通过指定某些“维护窗口”在how to schedule node upgrades上找到文档,以使您受到的影响最小。 (本文还提供了有关升级如何发生的更多见解。)
也就是说,您可以禁用自动升级和手动升级集群(尽管不建议这样做)。一些GKE用户拥有数千个节点,因此对于他们来说,一次升级VM是不可行的。
为此,GKE提供了一个选项,可让您选择“一次升级多少个节点”:
gcloud container clusters upgrade \
--concurrent-node-count=CONCURRENT_NODE_COUNT
此标志的文档说:
要同时升级的节点数。有效值为[1,20]。建议的最佳做法是将此值设置为不超过群集大小的3%。'
答案 1 :(得分:0)
我最终会自己回答。自动升级可以起作用,尽管升级该版本花了几天到一周的时间。
除版本更新外,没有任何计划升级日期的指示。
它将升级到群集的当前主版本。
答案 2 :(得分:0)
关于节点池为何无法自动升级或不计划升级的原因,我想分享另外两种可能性。
我们的一个项目也遇到了类似的问题,即主版本已自动升级到 > traceback()
7: FUN(X[[i]], ...)
6: lapply(p, function(x) as.character(x)[1])
5: `xgb.parameters<-`(`*tmp*`, value = params)
4: xgb.Booster.handle(params, list(dtrain, dtest))
3: FUN(X[[i]], ...)
2: lapply(seq_along(folds), function(k) {
dtest <- slice(dall, folds[[k]])
dtrain <- slice(dall, unlist(folds[-k]))
handle <- xgb.Booster.handle(params, list(dtrain, dtest))
list(dtrain = dtrain, bst = handle, watchlist = list(train = dtrain,
test = dtest), index = folds[[k]])
})
1: xgb.cv(data = train, folds = folds, params = params, nrounds = 2000)
,但是我们的节点池在1.14.10-gke.27
上停留了一个多月。
由于节点配额,节点池升级可能会失败(尽管我不确定Web控制台会说1.14.10-gke.24
)。通过node upgrades documentation,它建议我们可以运行以下命令查看所有失败的升级操作:
Next auto-upgrade: Not scheduled
在完成了故障排除步骤后,我与GCP支持小组联系,并为所有在Google工作的人打开了一个案例(gcloud container operations list --filter="STATUS=DONE AND TYPE=UPGRADE_NODES AND targetLink:https://container.googleapis.com/v1/projects/[PROJECT_ID]/zones/[ZONE]/clusters/[CLUSTER_NAME]"
)。他们告诉我以下内容:
自动节点升级: 让我解释一下,节点版本不需要自动升级,一个节点中存在三个升级:次要版本(1.X),修补程序版本(1.XY)和安全更新和错误修复(1.XY-gke.N) ,请查看此文档[2]。自动节点升级可以从次要版本开始进行,并且在您的情况下,升级是无法自动升级的安全更新。
我回复了,他们确认自动节点升级只会在次要版本及更高版本上进行。我已要求他们提交request to update their documentation,因为(在此回复之时)他们的node auto-upgrade documentation中没有任何地方。