天天看点

Kubernetes - 4.7 Workload - Job

什么是Job?

Job一般用于数据处理、迁移等一次性任务处理场景,Job会创建Pod进行作业并确保完成。

Job作业模式

  1. 非并行作业: 作业完成后Pod自动终止。
  2. 具有完成次数计数的并行作业:指定所需完成作业的次数,作业完成后Pod自动终止。
  3. 具有工作队列的并行作业:指定Pod之间或外部服务的协调确定作业,Pod全部终止后作业完成。

通过Yaml资源定义清单创建Job

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"] 
      restartPolicy: Never
  backoffLimit: 4           

参数

.spec.completions #需要Pod的执行成功次数
.spec.parallelism #Job同时可执行的Pod数量
.spec.backoffLimit #Job的容错次数
.spec.activeDeadlineSeconds #设置Job运行的超时时间           

继续阅读