k8s-job-failed

Kubernetes Job 失败的定位与修复

现象

Job 状态为 Failed,或 Pod 反复重试后超过 backoffLimit。批处理任务没有完成,可能留下部分数据和失败的 Pod。

快速定位

kubectl get job <job> -n <ns> -o wide
kubectl describe job <job> -n <ns>
kubectl get pods -n <ns> -l job-name=<job>
kubectl logs job/<job> -n <ns>
kubectl logs <pod> -n <ns> --previous
kubectl get events -n <ns> --sort-by=.lastTimestamp | tail -20

常见根因

  1. 应用逻辑失败:配置、依赖、权限或数据问题。
  2. 镜像拉取失败、入口命令错误或工作目录不存在。
  3. 资源不足:CPU/内存 limit、临时存储或 GPU。
  4. activeDeadlineSeconds 或 backoffLimit 太小。
  5. 节点中断、Pod 被驱逐或卷挂载失败。
  6. 并发/幂等设计问题,重试产生重复数据。

修复

相关命令