创建 Jobs

Job 提供了不同的方式来定义运行至完成然后停止的任务。您可以使用 Job 来定义一次性就完成的任务。

  • 原子执行单元:每个 Job 管理一个或多个 Pods,直到成功完成。
  • 重试机制:由 spec.backoffLimit 控制(默认值:6)。
  • 完成跟踪:使用 spec.completions 定义所需的成功次数。

示例

apiVersion: batch/v1
kind: Job
metadata:
  name: data-processing-job
spec:
  completions: 1          # 所需成功完成的数量
  parallelism: 1          # 最大并行 Pods 数量
  backoffLimit: 3         # 最大重试次数
  template:
    spec:
      restartPolicy: Never # Job 特定的策略(Never/OnFailure)
      containers:
      - name: processor
        image: alpine:3.14
        command: ["/bin/sh", "-c"]
        args:
          - echo "Processing data..."; sleep 30; echo "Job completed"

执行概述

Kubernetes 中的每个 Job 执行都会创建一个专用的 Job 对象,使用户能够:

  • 通过 kubectl get jobs 跟踪 Job 生命周期
  • 通过 kubectl describe job/<job-name> 检查执行细节
  • 使用 kubectl logs <pod-name> 查看 Pod 日志
本页概览