En kubernetes también se pueden crear tareas programadas con crons o correr una tarea simple, que realizarla a mano sería más costoso, como por ejemplo dejar preinstalado wordpress en un volumen. Para estos menesteres están los jobs y los cronjobs.
El siguiente ejemplo es un job que nos deja una instalación de wordpress en el volumen files-pvc, que después se puede «atachar» a un pod de apache (por ejemplo).
apiVersion: batch/v1
kind: Job
metadata:
name: wordpress-install
spec:
template:
spec:
containers:
- name: install
image: bash
command: ["/bin/sh", "-c"]
args:
- cd /root; wget https://wordpress.org/latest.tar.gz && tar -xzvf latest.tar.gz && cp -r wordpress/* /var/www/html/ && \
cd /root; rm -rf latest.tar.gz wordpress
volumeMounts:
- name: files-pvc
mountPath: "/var/www/html"
volumes:
- name: files-pvc
persistentVolumeClaim:
claimName: files-pvc
restartPolicy: OnFailure
En el siguiente ejemplo, ejecutamos un cron cada 5 minutos, que hace un curl a un cron de wordpress:
apiVersion: batch/v1
kind: CronJob
metadata:
name: cron wordpress
spec:
schedule: "*/5 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: cron_wp
image: bash
args:
- /bin/sh
- -c
- curl http://www.miweb.com/wp-cron.php
restartPolicy: OnFailure
Te recordamos que en Occentus Network somos Kubernetes Certified Service Provider (KCSP) y que gracias a esta certificación ofrecemos Kubernetes Service, así como consultoría y formación a empresas que eligen Kubernetes.