Kubernetes 作业退避限制等待时间
Kubernetes Job backoff limit wait time
我正在尝试创建一个 backofflimit
值设置为 4
的 Kubernetes 作业。所以我想知道如果 Job 中有一个 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
您可以使用 liveness probe
来实现
示例 Yaml #您可以根据需要进行更改。
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
的注意事项:如果不设置初始延迟,prober一启动就会开始探测容器,这通常会导致探测失败,因为应用程序尚未准备好开始接收请求。如果失败次数超过失败阈值,容器将在它甚至能够开始正确响应请求之前重新启动。
Pod 退避失败策略注意事项: 与作业关联的失败 Pods 由作业控制器以指数 back-off 延迟(10 秒, 20 秒、40 秒...)以 6 分钟为上限。 Ref:
我正在尝试创建一个 backofflimit
值设置为 4
的 Kubernetes 作业。所以我想知道如果 Job 中有一个 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
您可以使用 liveness probe
来实现示例 Yaml #您可以根据需要进行更改。
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
的注意事项:如果不设置初始延迟,prober一启动就会开始探测容器,这通常会导致探测失败,因为应用程序尚未准备好开始接收请求。如果失败次数超过失败阈值,容器将在它甚至能够开始正确响应请求之前重新启动。
Pod 退避失败策略注意事项: 与作业关联的失败 Pods 由作业控制器以指数 back-off 延迟(10 秒, 20 秒、40 秒...)以 6 分钟为上限。 Ref: