如何配置 Kubernetes Jobs 的重启时间?

How to configure the restart times of Kubernetes Jobs?

现在我们正在使用 Kubernetes 来处理 运行 用户的任务。我们需要 Kubernetes Jobs 的功能来在发生故障时重新启动任务。

但我们的用户可能会提交有问题的应用程序,这些应用程序总是以非 zore 代码退出。 Kubernetes 将一遍又一遍地重新启动此任务。

是否可以配置重启时间?

您可以使用标准的 pod 重启策略:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

不幸的是,只允许"Never"或"OnFailure"的策略,所以如果你需要重启X次然后失败,那是不可能的。

示例:

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

backoffLimit: 4 - 抛出错误前的重试次数

completions: 3 - 运行

的次数