Job — a Pod that executes a task and completes. CronJob — on a schedule.
Job:
1apiVersion: batch/v12kind: Job3metadata:4 name: data-migration5spec:6 backoffLimit: 37 activeDeadlineSeconds: 36008 template:9 spec:10 containers:11 - name: migrate12 image: myapp:latest13 command: ["python", "migrate.py"]14 restartPolicy: Never
CronJob:
1apiVersion: batch/v12kind: CronJob3metadata:4 name: backup5spec:6 schedule: "0 2 * * *"7 concurrencyPolicy: Forbid8 successfulJobsHistoryLimit: 39 failedJobsHistoryLimit: 110 jobTemplate:11 spec:12 template:13 spec:14 containers:15 - name: backup16 image: postgres:1517 command:18 - /bin/sh19 - -c20 - pg_dump -U postgres mydb > /backup/dump.sql21 restartPolicy: OnFailure
Verification: kubectl get jobs, kubectl get cronjobs.