(如何)GKE中的节点池自动升级实际上有效吗?

问题描述 投票:1回答:2

我们在GKE上有一个相当大的kubernetes部署,我们希望通过启用自动升级来让我们的生活更轻松一些。 documentation on the topic告诉你如何启用它,但不知道它是如何工作的。

我们在测试集群上启用了该功能,但是没有升级任何节点(尽管用户界面一直在唠叨“升级可用”)。

文档称它将更新为“最新稳定版”,并且“由GKE团队自行决定定期” - 两者都不是非常有用。

用户界面总是说:“下一次自动升级:未安排”

是否有人在制作过程中使用过这个功能,并且可以了解它实际上会做些什么?

What I did:

  • 我在nodepools上启用了该功能(而不是群集本身)
  • 我建立了一个维护窗口
  • 群集版本是1.11.7-gke.3
  • Nodepool有版本1.11.5-gke.X
  • 最新版本是1.11.7-gke.6

What I expected:

  • 节点池将更新为1.11.7-gke.3(默认群集版本)或1.11.7-gke.6(最新版本)
  • 更新将在下一个维护窗口中进行
  • 否则,更新将像“手动”更新一样工作

What actually happened:

  • 没有
  • 节点池在1.11.5-gke.X上停留了一个多星期

My question

  • nodepool版本应该更新吗?
  • 如果是这样,在什么时候?
  • 如果是这样,到什么版本?
kubernetes google-kubernetes-engine
2个回答
1
投票

我终于自己回答了这个问题。自动升级确实有效,但在版本升级之前需要几天到一周的时间。

没有指示计划的升级日期或除版本更新之外的任何反馈。

它将升级到群集的当前主版本。


0
投票

此功能将运行“旧”Kubernetes版本的节点池中的VM(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%。

© www.soinside.com 2019 - 2024. All rights reserved.