首页/云/云与容器速查/Job/CronJob 失败排查(重试/并发/漏跑)

Job/CronJob 失败排查(重试/并发/漏跑)

批处理失败分三类查:Pod 没起来(调度/镜像)、起来失败重试(backoffLimit)、定时任务该跑没跑(suspend/并发策略/时限)。

云与容器速查云更新于 2026-10-12
看 Jobkubectl describe job 看 Events 与 Conditions
看 Podkubectl get pods -l job-name=<job> 看逐个 Pod 结果
重试backoffLimit 用尽即 Job Failed;restartPolicy 只能 Never/OnFailure
CronJobkubectl get cronjob 看 SCHEDULE、LAST SCHEDULE、SUSPEND、ACTIVE
常见根因镜像拉取失败、命令退出码非 0、资源不足、并发策略挡掉本轮

排查命令

排查命令
kubectl describe job backup-20261012
kubectl get pods -l job-name=backup-20261012
kubectl get cronjob -o wide
kubectl get job backup-20261012 -o custom-columns=NAME:.metadata.name,SUCCEEDED:.status.succeeded,FAILED:.status.failed
定时任务『该跑没跑』先看 LAST SCHEDULE 与 Events:startingDeadlineSeconds 太短、任务时长超过间隔、被 suspend 都会直接漏过调度。

易错点

  • restartPolicy 写成 Always:Job 对象直接被 API 拒绝创建
  • 只看 Pod 日志:调度失败/镜像失败时没有日志,先 describe 看 Events

数据来源与参考

  • Kubernetes Docs:Jobs
  • Kubernetes Docs:CronJob

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌