Batch

Un cluster de Kubernetes no solo nos vale para desplegar servidores, también para ejecutar trabajos del tipo 'batch'(Es decir, que ejecutan una tarea y se paran). En este caso lo haríamos de la siguiente manera(Para calcular los 200 primeros dígitos de pi):
apiVersion: batch/v1
kind: Job
metadata:
name: job-pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(200)"]
restartPolicy: Never
En caso de que la tarea se tenga que ejecutar regularmente, por ejemplo, una copia de seguridad o el cálculo de unos reports podemos crear un 'CronJob' donde nos permite programar(schedule) cada cuanto se ejecutará el trabajo:
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: ubuntu
args:
- /bin/sh
- -c
- date; echo Hola Kubernetes
restartPolicy: OnFailure