【发布时间】:2017-08-11 04:47:02
【问题描述】:
现在我们使用 Kubernetes 来运行用户的任务。我们需要 Kubernetes Jobs 的特性来在发生故障时重新启动任务。
但我们的用户可能会提交有问题的应用程序,这些应用程序总是以非 zore 代码退出。 Kubernetes 会一遍又一遍地重启这个任务。
是否可以为此配置重启时间?
【问题讨论】:
标签: kubernetes jobs kubernetes-jobs
现在我们使用 Kubernetes 来运行用户的任务。我们需要 Kubernetes Jobs 的特性来在发生故障时重新启动任务。
但我们的用户可能会提交有问题的应用程序,这些应用程序总是以非 zore 代码退出。 Kubernetes 会一遍又一遍地重启这个任务。
是否可以为此配置重启时间?
【问题讨论】:
标签: kubernetes jobs kubernetes-jobs
您可以使用标准的 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 - 运行次数
【讨论】: