Job
Role
Un Job crée un ou plusieurs Pods et continuera à réessayer l’exécution des Pods jusqu’à ce qu’un nombre spécifié d’entre eux se terminent avec succès.
Structure
apiVersion: batch/v1
kind: Job
metadata:
name: lance
spec:
activeDeadlineSeconds: 3600
backoffLimit: 2
completions: 1
parallelism: 1
template:
spec:
restartPolicy: Never
containers:
- name: init
image: dwdraju/alpine-curl-jq:latest
imagePullPolicy: Always
command:
- "sh"
- "-c"
- "curl http://myservice.namespace.svc"
dnsPolicy: ClusterFirst
CronJob
Role
Les CronJobs sont destinés à exécuter des actions planifiées régulières telles que des sauvegardes, la génération de rapports, etc. Chacune de ces tâches doit être configurée pour se répéter indéfiniment (par exemple : une fois par jour / semaine / mois) ; vous pouvez définir le moment dans cet intervalle où la tâche doit commencer.
Structure
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
Le schedule se programme ainsi :
minute (0 - 59)
│ ┌───────────── Heure (0 - 23)
│ │ ┌───────────── Jour dans le mois (1 - 31)
│ │ │ ┌───────────── Mois (1 - 12)
│ │ │ │ ┌───────────── Jour de la semaine (0 - 6)
│ │ │ │ │
│ │ │ │ │
* * * * *