在Kubernetes中禁用cronjob

在Kubernetes中禁用cronjob,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我已经安排了一个应用程序在Kubernetes中作为Cronjob运行。当代码发生更改时,我也会更改CronJob的映像 我正在寻找一个选项,可以禁用当前运行的CronJob,并使用最新的映像版本部署新的CronJob 如何在不删除其yaml清单的情况下禁用Kubernetes中的Cronjob?您可以使用对Cron Job格式有效的内容,但实际上该日期在日历日期(如2月31日)中不应出现 * * 31 2 * 编辑当前的cronjob资源以包括。任何当前运行的作业都将完成,但将来的作业将暂停

我已经安排了一个应用程序在Kubernetes中作为Cronjob运行。当代码发生更改时,我也会更改CronJob的映像

我正在寻找一个选项,可以禁用当前运行的CronJob,并使用最新的映像版本部署新的CronJob


如何在不删除其yaml清单的情况下禁用Kubernetes中的Cronjob?

您可以使用对Cron Job格式有效的内容,但实际上该日期在日历日期(如2月31日)中不应出现

* * 31 2 *

编辑当前的cronjob资源以包括。任何当前运行的作业都将完成,但将来的作业将暂停


如果您还需要停止当前正在运行的作业,则必须删除它们

如果要通过修补程序挂起cronjob,请使用:

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

我试图使用上述命令挂起,但出现错误:无法分析“{spec”:yaml:找到意外的流结束
kubectl修补程序cronjobs-p'{“spec\”:{“suspend\”:true}“
@Zhongxia Zhou patch with suspend False一次挂起所有cronjobs
kubectl get cronjobs | grep False | cut-d'-f 1 | xargs kubectl patch cronjobs-p'{“spec”:{“suspend”:true}}'
这在Windows终端中起作用,谢谢
kubectl patch cronjobs job-name -p "{\"spec\" : {\"suspend\" : true }}"