Kubernetes Jobs

Kubernetes Jobs

A job creates one or more pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the job tracks the successful completions. When a specified number of successful completions is reached, the job itself is complete. Deleting a Job will cleanup the pods it created.

Save the below manifest as ‘job-whalesay.yaml’ using your favorite editor.

apiVersion: batch/v1
kind: Job
metadata:
  name: whalesay
spec:
  template:
    spec:
      containers:
      - name: whalesay
        image: docker/whalesay
        command: ["cowsay",  "This is a Kubernetes Job!"]
      restartPolicy: Never
  backoffLimit: 4

Run a sample Kubernetes Job using the whalesay image.

kubectl apply -f job-whalesay.yaml

Wait until the job has completed successfully.

kubectl get job/whalesay
NAME       DESIRED   SUCCESSFUL   AGE
whalesay   1         1            2m

Confirm the output.

kubectl logs -l job-name=whalesay
 ___________________________ 
< This is a Kubernetes Job! >
 --------------------------- 
    \
     \
      \     
                    ##        .            
              ## ## ##       ==            
           ## ## ## ##      ===            
       /""""""""""""""""___/ ===        
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
       \______ o          __/            
        \    \        __/             
          \____\______/