现在我们使用 Kubernetes 来运行用户的任务。我们需要 Kubernetes Jobs 的特性来在发生故障时重新启动任务。
但是我们的用户可能会提交有问题的应用程序,这些应用程序总是以非 zore 代码退出。Kubernetes 会一遍又一遍地重启这个任务。
是否可以为此配置重启时间?
现在我们使用 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
- 运行次数