我已经安排了一个应用程序在Kubernetes中作为Cronjob运行。当发生代码更改时,我正在CronJob中更改图像。
我正在寻找一个选项,可以禁用当前正在运行的CronJob并使用新创建的Image部署新的CronJob。
如何在不删除Yaml的情况下禁用Kubernetes中的Cronjob?
答案 0 :(得分:12)
如果要通过补丁程序暂停cronjob,请使用:
kubectl patch cronjobs <job-name> -p '{"spec" : {"suspend" : true }}'
答案 1 :(得分:6)
编辑当前的cronjob资源,使其包含.spec.suspend field and set it to true。当前正在运行的所有作业都将完成,但将来的作业将被暂停。
如果您还需要停止当前正在运行的作业,则必须将其删除
答案 2 :(得分:3)
您可以使用对Cron Job格式有效的内容,但实际上该日期不应在日历日期(如2月31日)的任何时间出现。
* * 31 2 *
答案 3 :(得分:1)
kubectl patch cronjobs job-name -p "{\"spec\" : {\"suspend\" : true }}"