cron - 如何更改 Kubernetes cronjob 的计划或如何手动启动它?

标签 cron kubectl kubernetes

是否有一种简单的方法可以更改 kubernetes cronjob 的日程安排 喜欢 kubectl change cronjob my-cronjob "10 10 * * *" ?或任何其他方式而无需做 kubectl apply -f deployment.yml ?后者在复杂的 CI/CD 设置中可能非常麻烦,因为通常不需要手动编辑部署 yaml,特别是如果文件是在构建过程中从模板创建的。

或者,有没有办法手动启动 cronjob? 例如,一项作业计划在 22 小时后开始,但我想现在手动触发一次,而不更改 cron 计划(用于测试或初始运行)?

最佳答案

您只能通过修补来更新资源的选定字段

patch -h                     
Update field(s) of a resource using strategic merge patch, a JSON merge patch, or a JSON patch.           

JSON and YAML formats are accepted.

Please refer to the models in
https://htmlpreview.github.io/?https://github.com/kubernetes/kubernetes/blob/HEAD/docs/api-reference/v1/definitions.html
to find if a field is mutable.

正如对 ref 的评论所提供的:
kubectl patch cronjob my-cronjob -p '{"spec":{"schedule": "42 11 * * *"}}'

此外,在当前的 kubectl 版本中,要启动声明的 cronjob 的一次性执行,您可以手动创建符合 cronjob 规范的作业
kubectl create job --from=cronjob/mycron

关于cron - 如何更改 Kubernetes cronjob 的计划或如何手动启动它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49293736/

上一篇:C 程序中的核心转储

下一篇:C token 解析

相关文章:

Kubernetes CPU 多线程

python - 在启动 cron 时从 Python 访问文件系统

centos 6.3 中的 python cron 作业错误

amazon-web-services - 无法使用kops在AWS上安装Kubernetes

kubernetes - minikube kubectl 创建文件错误(验证数据: apiVersion not set)

kubernetes - 使用 Bastion 通过 SSH 连接到 Kubernetes Pod

kubernetes - 运行 Kubernetes Minikube 服务时出现 "cannot open browser"错误

python - python 中的 crontab

linux - anacron 不执行我的 bash 脚本

kubernetes - kubectl - 以 json 格式检索部署的当前/"new"副本集