gpt4 book ai didi

kubernetes - Kubernetes部署滚动更新

转载 作者:行者123 更新时间:2023-12-02 12:12:01 26 4
gpt4 key购买 nike

我有一个在Kubernetes上部署的应用程序。

该应用程序有4个副本,我正在对每个部署进行滚动更新。

此应用程序具有正常关闭功能,该关闭过程可能需要数十分钟(它必须等待正在运行的任务完成)。

我的问题是,在更新期间,由于所有旧版本的Pod在创建所有新Pod时都处于“终止”状态,因此我的容量过大。

在更新期间,我最终使用8个容器运行,这是我要避免的事情。

我尝试将maxSurge设置为0,但是此设置未考虑“终结” pod,因此在部署期间服务器上的负载过高。

我要尝试获得的行为是,只有在旧版本的Pod成功完成后才能创建新的Pod,因此在任何时候我都不会超过设置的副本数。

我想知道是否有办法实现这种行为。

最佳答案

我最终要做的是用StatefulSetpodManagementPolicy: Parallel创建一个updateStrategyOnDelete

我还将terminationGracePeriodSeconds设置为 pods 终止所需的最长时间。

作为部署过程的一部分,我将新的StatefulSet与新的镜像一起应用,然后删除所有正在运行的Pod。

这样,所有Pod都将进入Terminating状态,并且每当Pod完成其任务并用新镜像终止新Pod时,它将替换它。

这样,我可以在整个部署过程中保持静态副本数。

关于kubernetes - Kubernetes部署滚动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61737471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com