Skip to content

Description of job parameters

According to the settings of .spec.completions and .spec.Parallelism , jobs (Job) can be divided into the following types:

Job Type Description
Non-parallel Job Creates a Pod until its Job completes successfully
Parallel Jobs with deterministic completion counts A Job is considered complete when the number of successful Pods reaches .spec.completions
Parallel Job Creates one or more Pods until one finishes successfully

Parameter Description

RestartPolicy Creates a Pod until it terminates successfully
.spec.completions Indicates the number of Pods that need to run successfully when the Job ends, the default is 1
.spec.parallelism Indicates the number of Pods running in parallel, the default is 1
spec.backoffLimit Indicates the maximum number of retries for a failed Pod, beyond which no more retries will continue.
.spec.activeDeadlineSeconds Indicates the Pod running time. Once this time is reached, the Job, that is, all its Pods, will stop. And activeDeadlineSeconds has a higher priority than backoffLimit, that is, the job that reaches activeDeadlineSeconds will ignore the setting of backoffLimit.

The following is an example Job configuration, saved in myjob.yaml, which calculates π to 2000 digits and prints the output.

apiVersion: batch/v1
kind: Job #The type of the current resource
metadata:
  name: myjob
spec:
  completions: 50 # Job needs to run 50 Pods at the end, in this example it prints π 50 times
  parallelism: 5 # 5 Pods in parallel
  backoffLimit: 5 # retry up to 5 times
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never #restart policy

Related commands

kubectl apply -f myjob.yaml # Start job
kubectl get job # View this job
kubectl logs myjob-1122dswzs View Job Pod logs

Comments