任务参数说明¶
根据 .spec.completions 和 .spec.Parallelism 的设置,可以将任务(Job)划分为以下几种类型:
| Job 类型 | 说明 | 
|---|---|
| 非并行 Job | 创建一个 Pod 直至其 Job 成功结束 | 
| 具有确定完成计数的并行 Job | 当成功的 Pod 个数达到 .spec.completions 时,Job 被视为完成 | 
| 并行 Job | 创建一个或多个 Pod 直至有一个成功结束 | 
参数说明
| RestartPolicy | 创建一个 Pod 直至其成功结束 | 
|---|---|
| .spec.completions | 表示 Job 结束需要成功运行的 Pod 个数,默认为 1 | 
| .spec.parallelism | 表示并行运行的 Pod 的个数,默认为 1 | 
| spec.backoffLimit | 表示失败 Pod 的重试最大次数,超过这个次数不会继续重试。 | 
| .spec.activeDeadlineSeconds | 表示 Pod 运行时间,一旦达到这个时间,Job 即其所有的 Pod 都会停止。且activeDeadlineSeconds 优先级高于 backoffLimit,即到达 activeDeadlineSeconds 的 Job 会忽略backoffLimit 的设置。 | 
以下是一个 Job 配置示例,保存在 myjob.yaml 中,其计算 π 到 2000 位并打印输出。
apiVersion: batch/v1
kind: Job            #当前资源的类型
metadata:
  name: myjob
spec:
  completions: 50        # Job结束需要运行50个Pod,这个示例中就是打印π 50次
  parallelism: 5        # 并行5个Pod
  backoffLimit: 5        # 最多重试5次
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never #重启策略
相关命令
kubectl apply -f myjob.yaml  #启动 job
kubectl get job #查看这个job
kubectl logs myjob-1122dswzs 查看Job Pod 的日志