Google Kubernetes引擎-节点升级过程

Google Kubernetes引擎-节点升级过程,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,谷歌在节点升级或维护时遵循哪些步骤?我一直认为这是: 漏节点 执行任何操作 再次打开节点 或 漏节点 删除节点 启动新节点 但最近在一次节点升级操作中,我们的一些未被复制的pod死掉了,停机了几分钟。稍后检查新pod的年龄,它与节点的年龄匹配。我还能够看到它部署的节点在节点升级时发生了更改 那么,有人知道谷歌为了进行节点升级所遵循的程序吗 退房- 默认情况下为滚动更新(其他选项为节点池迁移) “滚动更新的工作方式如下。一个节点一个接一个地被排空和封锁,这样该节点上就没有更多的吊舱在运行。

谷歌在节点升级或维护时遵循哪些步骤?我一直认为这是:

  • 漏节点
  • 执行任何操作
  • 再次打开节点

  • 漏节点
  • 删除节点
  • 启动新节点
但最近在一次节点升级操作中,我们的一些未被复制的pod死掉了,停机了几分钟。稍后检查新pod的年龄,它与节点的年龄匹配。我还能够看到它部署的节点在节点升级时发生了更改

那么,有人知道谷歌为了进行节点升级所遵循的程序吗

退房-

默认情况下为滚动更新(其他选项为节点池迁移)

“滚动更新的工作方式如下。一个节点一个接一个地被排空和封锁,这样该节点上就没有更多的吊舱在运行。然后删除该节点,并使用更新的Kubernetes版本创建一个新节点。一旦该节点启动并运行,下一个节点将被更新。这将持续到所有节点都被更新为止。”

通过在节点池上启用自动节点升级,您可以让Kubernetes引擎为您完全管理此过程。一个缺点是,您的群集中的节点容量减少了一个。通过扩大节点池以添加额外容量,然后在升级完成后将其缩小,可以轻松解决此问题。
滚动更新的全自动特性使其易于执行,但您对该过程的控制较少。如果出现问题,还需要时间回滚到旧版本,因为您必须停止滚动更新,然后撤消它。”

我也想知道这一点,因为最近我尝试从1.12.6-gke.6升级到1.12.6-gke.10,发现不同节点上有两个副本的服务完全停机。因此,一个节点被耗尽并升级,但另一个节点上的吊舱突然开始死亡,这导致我们停机。我取消了升级,在进一步测试之前不会升级。谢谢你找到这个!所以这就像是第二种选择。在我们的案例中,我们在维护期间确实有停机时间。最好将此作为其文档的一部分。