Google Kubernetes Engine-节点升级过程

时间:2019-05-02 11:38:33

标签: kubernetes google-cloud-platform google-kubernetes-engine

在节点上进行节点升级或维护时,Google遵循哪些步骤?我一直以为是

  • 排水节点
  • 执行任何操作
  • 重新启动节点

  • 排水节点
  • 删除节点
  • 启动新节点

但是最近在节点升级操作期间,我们一些未复制的Pod死亡,并且停机了几分钟。稍后检查新Pod的寿命,使其与节点的寿命相匹配。我还可以看到,在升级节点时,部署该节点的节点已更改。

那么,有人知道Google进行节点升级要遵循的程序吗?

1 个答案:

答案 0 :(得分:2)

签出-https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-upgrading-your-clusters-with-zero-downtime

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

“滚动更新以下列方式工作。一个节点被排空并封锁,以使该节点上不再有任何容器运行。然后删除该节点,并使用更新后的节点创建一个新节点。 Kubernetes版本。该节点启动并运行后,将更新下一个节点。此过程一直持续到所有节点都更新为止。

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