Technotes

Technotes for future me

How to trigger a Kubernetes cronjob manually

What should you do when you’ve developed and installed a cron job for your Kubernetes application, and you need to test it? When writing classic cron jobs in Unix, it’s obvious how to test the job- just manually run the command specified in the cron file. However, it’s not as obvious how to do this in Kubernetes.

We encountered this problem not long ago while setting up a daily PostgreSQL backup job for one of our projects. Triggering a CronJob manually was difficult or impossible in older versions of Kubernetes, but since K8S 1.10 it can be done like this:

kubectl create job --from=cronjob/<name of cronjob> <name of job>

For example, if the name of your cronjob is “pgdump”, then you might run:

kubectl create job --from=cronjob/pgdump pgdump-manual001

To see a list of cron jobs, run kubectl get cronjob.

The job creates a pod that runs to completion. You can review the command output by using kubectl to show pod logs.

Further reading

The official Kubernetes docs are here: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-job-em-

References

Source:
https://www.craftypenguins.net/blog/how-to-trigger-a-kubernetes-cronjob-manually/
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-job-em-

Last updated on 19 Oct 2024
Published on 3 Oct 2024
Edit on GitHub