July 2019
Intermediate to advanced
502 pages
14h
English
Kubernetes deployments and services are all about creating a set of long-running pods that are supposed to run indefinitely. A Kubernetes Job is all about running one or more pods until one of them completes successfully. When you create a Job, it looks very much like a deployment, except that the restart policy should be Never.
Here is a Kubernetes Job that prints Yeah, it works in a Job!!! from Python:
apiVersion: batch/v1kind: Jobmetadata: name: yeah-it-worksspec: template: spec: containers: - name: yeah-it-works image: python:3.6-alpine command: ["python", "-c", "print('Yeah, it works in a Job!!!')"] restartPolicy: Never
I can now run this Job, watch it complete, and check the logs, as follows:
$ kubectl create ...