Kubernetes - job如何只运行一次工作

识趣 发表于: 2022-02-09   最后更新时间: 2022-02-09 23:31:25   676 游览

以下是我基于kubernetes网站例子的job定义:

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-timeout-6
spec:
  activeDeadlineSeconds: 30
  completions: 1
  parallelism: 1
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["exit", "1"]
      restartPolicy: Never

我想运行这个job一次,如果失败也不重新启动。在命令退出1的情况下,kubernetes试图运行新的pod,得到退出0的代码,直到达到activeDeadlineSeconds超时。怎样才能避免这种情况呢?我想在kubernetes中运行构建命令来检查编译,如果编译失败,我将得到不同于0的退出代码,我不想再次运行编译了。

我该怎么做呢?

发表于 2022-02-09

现在可以通过设置backoffLimit: 0来实现,它告诉controller进行0次重试(默认为6次)。

你的答案

查看kubernetes相关的其他问题或提一个您自己的问题