在Kubernetes中禁用cronjob

时间:2018-10-12 09:40:00

标签: kubernetes google-kubernetes-engine

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

我正在寻找一个选项,可以禁用当前正在运行的CronJob并使用新创建的Image部署新的CronJob。

如何在不删除Yaml的情况下禁用Kubernetes中的Cronjob?

4 个答案:

答案 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 }}"