Kubernetes作业回退限制等待时间

pprl5pva  于 2022-11-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(178)

我正在尝试创建一个Kubernetes作业,并将backofflimit值设置为4。因此,我想知道,如果作业中有一个Pod失败,我想等待n分钟或n秒,然后再创建第二个Pod。有什么方法可以做到这一点吗?

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-test
spec:
  template:
    spec:
      containers:
      - name: pi
        image: bitnami/git:latest
        command: ["/bin/bash",  "-c", "gits clone ls -b master"]
      restartPolicy: OnFailure
  backoffLimit: 4
  activeDeadlineSeconds: 120
oknwwptz

oknwwptz1#

您可以通过使用liveness探测器来实现此目的
请参见以下示例Yaml#you can change as per your need.

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-test
spec:
  template:
    spec:
      containers:
        - name: pi
          image: bitnami/git:latest
          args:
            - /bin/sh
            - -c
            - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
          livenessProbe: # Check if healthy
            exec:
              command:
                - cat
                - /tmp/healthy
            initialDelaySeconds: 5
            periodSeconds: 5
          command: ["/bin/bash",  "-c", "gits clone ls -b master"]
      restartPolicy: OnFailure
  backoffLimit: 4
  activeDeadlineSeconds: 120

initialDelaySeconds的注意事项:如果不设置初始延迟,探测器将在启动后立即开始探测容器,这通常会导致探测失败,因为应用尚未准备好开始接收请求。如果失败次数超过失败阈值,容器将在开始正确响应请求之前重新启动。
**Pod回退失败策略的注意事项:**与作业关联的失败Pod由作业控制器重新创建,其指数回退延迟(10秒、20秒、40秒...)上限为6分钟。参考:

相关问题