Disabling cronjob in Kubernetes

I have scheduled an application to run as a Cronjob in Kubernetes. When there is a code change, I'm also changing the image of the CronJob.

I'm looking for an option where I can disable the currently running CronJob and deploy a new CronJob with the latest Image version.

How can I disable a Cronjob in Kubernetes without deleting its yaml manifest?


If you want to suspend cronjob via patch, use:

kubectl patch cronjobs <job-name> -p '{"spec" : {"suspend" : true }}'

Edit your current cronjob resource to include the .spec.suspend field and set it to true. Any currently running jobs will complete but future jobs will be suspended.

If you also need to stop currently running jobs, you'll have to delete them


kubectl patch cronjobs job-name -p "{\"spec\" : {\"suspend\" : true }}"

You can use something which will be valid with respect to Cron Job format but actually that date should not appear anytime in calendar date like 31 Feb.

* * 31 2 *