首页 > 解决方案 > 即使使用 restartPolicy,Kubernetes 作业也会重新启动:“从不”

问题描述

我有一份restartPolicy: "Never"以“错误”结尾的工作

有了Status : Error这个工作不应该重新启动。

但是,每次上一个作业失败时,都会一次又一次地创建一个新的 pod:

$ kubectl get pods
kafka-pvbqk          0/1     Error              0          2m19s
kafka-ttt95          0/1     Error              0          109s
kafka-7fqgl          0/1     Error              0          69s
kafka-rrmlk          0/1     PodInitializing    0          2s

我知道第一件事应该是修复错误,但我也想了解 pod 重新启动的原因以及如何避免这种情况?

谢谢

标签: kubernetes

解决方案


这是正确的行为,而不是错误。您指向的重启策略是关于 Pod,而不是作业本身。

设置.spec.backoffLimit为指定在将作业视为失败之前重试的次数后使作业失败。

默认情况下,回退限制设置为 6。与作业关联的失败 Pod 由作业控制器重新创建,并以指数回退延迟(10 秒、20 秒、40 秒 ...)上限为 6 分钟。当 Job 的 Pod 被删除或成功且该 Job 的任何其他 Pod 在此期间失败时,退避计数将被重置。


推荐阅读