只运行一次Kubernetes作业

时间:2019-09-16 07:42:13

标签: kubernetes

我只想运行一次kubernetes作业。这可以通过脚本执行一些数据库更新。由于任何原因,我们都不希望该脚本执行多次。

任何建议,我们如何使用kubernetes来实现。

1 个答案:

答案 0 :(得分:1)

您需要使用backoffLimit设置为0的Job资源,如下所示:

apiVersion: batch/v1
kind: Job
metadata:
  name: example
spec:
  backoffLimit: 0
  template:
    spec:
      containers:
        - name: example
          image: alpine:3
          command: ["sh", "-c", "exit 1"]
      restartPolicy: Never

该作业运行一次,如果失败,它将达到backoffLimit,并且不会重试。如果您描述工作,则可以对其进行验证:

Warning  BackoffLimitExceeded  117s  job-controller  Job has reached the specified backoff limit