Kubernetes部署失败

Kubernetes部署失败,kubernetes,Kubernetes,我想知道是否有一种方法可以让部署停止重新创建新的POD,当这些POD多次失败时。另一方面,假设我们不能在一个部署的POD模板中有一个从不重启的策略,我想知道,我怎么能考虑一个服务失败并处于一个停止状态。p> 我们有一个用例,在这个用例中,迫切需要让kubernetes中断一个部署,因为他的所有吊舱都不断出现故障 考虑使用类型“作业”而不是部署。根据文件: 对预期终止的POD使用作业,例如批处理 计算。作业仅适用于具有restartPolicy的POD 等于失败或永远不会 希望这有帮助 我认为这是

我想知道是否有一种方法可以让部署停止重新创建新的POD,当这些POD多次失败时。另一方面,假设我们不能在一个部署的POD模板中有一个从不重启的策略,我想知道,我怎么能考虑一个服务失败并处于一个停止状态。p> 我们有一个用例,在这个用例中,迫切需要让kubernetes中断一个部署,因为他的所有吊舱都不断出现故障

考虑使用类型“作业”而不是部署。根据文件:

对预期终止的POD使用作业,例如批处理 计算。作业仅适用于具有restartPolicy的POD 等于失败或永远不会


希望这有帮助

我认为这是一个新的提醒。在这里,预期终止将是,基本上是在失败时。当出现严重故障时,我们希望我们的工作终止。所以部署并不意味着处理邮件致命失败的任务?我相信部署意味着总是在运行,所以它将尝试以指数退避方式持续重新启动。您可以尝试指定
.spec.progressDeadlineSeconds
,这将使部署控制器进入ProgressDeadlineExcepended状态。目前(v1.13),它将继续重试部署,但有计划允许它在未来版本中自动回滚。嘿@FrankYuchengGu谢谢你,我查看了一下,但我认为这只是为了更新应用程序或类似的东西。它与滚动更新一起工作。你能对此进行一点扩展吗?我如何实际使用.spec.progressDeadlineSeconds甚至.spec.minReadySeconds来控制这个过程。我想要的是,如果部署的pod经常重新启动,那么在某个时候它会进入那种状态progressdeadlineexcelled。您能否在此解释反应链以及如何使用这些参数,并确认您不需要滚动更新,但只要在出现故障时自动重新启动即可触发这些参数,以便将其考虑在内?如果您的pod遇到致命错误并崩溃,部署控制器将尝试重新启动pod。在此过程中,如果pod持续崩溃,则minReadySeconds将超时。据我所知,没有让部署停止重启POD的方法。这是部署控制器中包含的指数退避,以防止频繁启动失败的POD。您可以实现一个只运行pod的作业控制器,如果失败,它将退出。