首页/云/Kubernetes 速查/Job 失败重试与 backoffLimit

Job 失败重试与 backoffLimit

backoffLimit 限制失败重试次数(默认 6),重试间隔按指数退避逐步加倍(从约 10 秒开始,达到上限后固定);用 restartPolicy 决定重试发生在容器级还是 Pod 级。

Kubernetes 速查云更新于 2026-10-12

配置与排查

配置与排查
spec:
  backoffLimit: 4
  template:
    spec:
      restartPolicy: Never      # 失败生成新 Pod(保留现场)
      containers:
        - name: task
          image: registry.example.com/task:3.1

查看失败原因

查看失败原因
kubectl get job batch-x -o jsonpath='{.status.conditions[*].reason}'
kubectl describe job batch-x | tail -20
kubectl logs job/batch-x --tail=100
达到 backoffLimit 后 Job 标记 Failed(reason: BackoffLimitExceeded)并停止重试,需要人工处理后重建。

易错点

  • restartPolicy: Never 每次失败留一个新 Pod(可查现场);OnFailure 复用同 Pod,只留容器日志
  • backoffLimit 很大 + 持续失败会反复拉镜像重跑,先看日志定位根因再放宽重试

数据来源与参考

  • Kubernetes 官方文档 · Job(Pod backoff failure policy)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌