任务

目录

了解任务

请参考官方 Kubernetes 文档:Jobs

Job 提供了多种定义任务的方式,这些任务运行至完成后停止。您可以使用 Job 来定义一个只运行一次并完成的任务。

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

YAML 文件示例

# example-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: data-processing-job
spec:
  completions: 1 # 需要的成功完成次数
  parallelism: 1 # 最大并行 Pod 数
  backoffLimit: 3 # 最大重试次数
  template:
    spec:
      restartPolicy: Never # 任务特定策略(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 apply -f example-job.yaml
  • 通过以下命令跟踪任务生命周期

    kubectl get jobs
  • 通过以下命令查看执行详情

    kubectl describe job/<job-name>
  • 通过以下命令查看 Pod 日志

    kubectl logs <pod-name>