现在我们使用 Kubernetes 来运行用户的任务。我们需要 Kubernetes 作业的功能在发生故障时重新启动任务。
但是我们的用户可能会提交有问题的应用程序,这些应用程序总是以非 zore 代码退出。Kubernetes 将一遍又一遍地重启这项任务。
是否可以为此配置重新启动时间?
您可以使用标准容器重新启动策略:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
不幸的是,只允许"从不"或"失败"策略,因此如果您需要重新启动 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
- 运行次数