我有想在Kubernetes上运行的批处理作业。我理解乔布斯的方式:
如果我选择restartPolicy: Never
,则意味着如果作业失败,它将破坏Pod并重新安排到(可能)另一个节点上。如果restartPolicy: OnFailure
,它将重新启动现有Pod中的容器。我认为一定数量的失败是不可恢复的。有没有办法可以阻止它在一段时间后重新安排或重新启动并清理不可恢复的工作?
我目前对此解决方法的想法是让一些监视程序进程查看retryTimes并在指定次数的重试后清理作业。
答案 0 :(得分:7)
松弛讨论摘要:
不,没有重试限制。但是,您可以使用activeDeadlineSeconds
设置截至v1.2的作业的截止日期。系统应该关闭重启,然后在到达截止日期时终止作业。
答案 1 :(得分:0)
仅供参考,现在已将其添加为.spec.backoffLimit
。
https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/