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

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

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

但是,似乎旧的 Pod 还没有等到新的 Pod 进入就绪状态就被销毁了(Terminating)。导致停机因为新的 pod 仍处于 ContainerCreating 状态。

对此有没有什么解释,或者我做错了什么?

在此处输入图片描述

答案1

当节点升级时,GKE 将首先从节点中清除 pod,然后再删除虚拟机并将其从集群中删除。终止 pod 的过程有详细说明这里你应该意识到这个过程开始新的 pod 被创建、调度或开始运行。

如果你有一个部署,并且希望在节点升级过程中保持特定数量的副本,则应该配置pod 中断预算,这样您就可以确保节点升级过程以足够慢的速度进行,以保持足够多的容器运行,从而使您的服务能够处理流量而不会出现任何停机时间。

相关内容