学习 Kubernetes(五):Job

Job 是 Kubernetes 用于运行短暂的(short living)任务的资源。

Job 类型

属性 .spec.completions 指定成功完成的 Pod 的数量;

属性 .spec.parallelism 指定并行运行的最大 Pod 的数量。

根据 completions 和 parallelism 参数,可以创建以下类型的 Job:

  • 一次性 Job .spec.completions.spec.parallelism 都为 1;
  • 固定的完成次数 Job .spec.completions 大于 1;
  • 工作队列 Job .spec.parallelism 大于 1。

创建 Job

命令行

创建一个一次性任务:

kubectl create job my-job --image=busybox  

YAML 文件

YAML 配置文件:

apiVersion: batch/v1  
kind: job  
metadata:  
  name: my-job
spec:  
  completions: 1
  parallelism: 1
  template:
    metadata:
      name: my-job
    spec:
      restartPolicy: OnFailure
      containers:
        - name: my-job
          image: busybox

配置 .spec.template.spec.restartPolicy Pod 重启策略,仅可选 OnFailureNever

启动 Job:

kubectl create -f my-job.yml  

参考

  • 《Kubernetes in Action》
  • 《Kubernetes Patterns》