我有一个部署在 Kubernetes 上的应用程序。
这个应用程序有 4 个副本,我正在对每个部署进行滚动更新。
这个应用程序有一个优雅的关闭,可能需要几十分钟(它必须等待正在运行的任务完成)。
我的问题是,在更新期间,我的容量过剩,因为所有旧版本的 pod 在创建所有新 pod 时都停留在“Terminating”状态。
在更新期间,我最终运行了 8 个容器,这是我试图避免的事情。
我尝试设置maxSurge
为 0,但此设置没有考虑“终止”pod,因此部署期间我的服务器上的负载太高。
我试图获得的行为是,只有在旧版本的 pod 成功完成后才会创建新的 pod,所以在任何时候我都不会超过我设置的副本数量。
我想知道是否有办法实现这种行为。