升级节点时,为什么 kubernetes 在新的 pod 处于就绪状态之前终止 pod?

Nic*_*ick 1 kubernetes google-kubernetes-engine

如下图所示,当将节点升级到新版本的 Kubernetes 时,每个节点上的 pod 都会在新节点上使用更新版本的 Kubernetes 重新创建。

但是,似乎没有等待新 Pod 处于 Ready 状态,旧 Pod 就被销毁(终止),导致停机,因为新 Pod 仍处于 ContainerCreating 状态。

对此有解释吗,还是我做错了什么?

在此处输入图片说明

小智 6

当节点升级时,GKE 将首先从节点中排空 Pod,然后再删除虚拟机并从集群中移除节点。这里详细解释了终止 Pod 的过程,您应该意识到这个过程创建、调度或开始运行新 Pod之前启动。

如果你有一个部署并且想要在节点升级过程中保持特定数量的副本,你应该配置pod 中断预算,通过它你可以确保节点升级过程以足够慢的速度进行以保持足够的容器运行让您的服务无需停机即可处理流量。