64

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

I'm looking for an option where I can disable currently running CronJob and deploy new CronJob with newly created Image.

How to disable a Cronjob in Kubernetes without deleting yaml?

Jasmitha
  • 679
  • 1
  • 7
  • 10

4 Answers4

112

If you want to suspend cronjob via patch, use:

kubectl patch cronjobs <job-name> -p '{"spec" : {"suspend" : true }}'
Amityo
  • 3,611
  • 2
  • 17
  • 26
19

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

Patrick W
  • 3,676
  • 1
  • 7
  • 20
11
kubectl patch cronjobs job-name -p "{\"spec\" : {\"suspend\" : true }}"
Mike
  • 929
  • 5
  • 22
  • 28
4

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 *