我创建了一个 Kubernetes 计划作业,它根据其计划每天运行两次。但是,我想手动触发它以进行测试。我该怎么做?
@jdf 提到的问题#47538现已关闭,现在可以实现。原始实现可以在here找到,但语法已经改变。
对于 kubectl v1.10.1+,命令是:
kubectl create job --from=cronjob/<cronjob-name> <job-name> -n <namespace-name>
kubectl get jobs
NAME DESIRED SUCCESSFUL AGE
hello-1477281595 1 1 11m
hello-1553106750 1 1 12m
hello-1553237822 1 1 9m
导出以下作业之一:
kubectl get job hello-1477281595 -o yaml > my_job.yaml
然后稍微编辑一下yaml,删除一些不必要的字段并手动运行:
kubectl create -f my_job.yaml
kubectl delete -f my_job.yaml
在 Kubernetes
1.10.6.gke-2
中,工作语法是:
kubectl create job <your-new-job-name> --from=cronjob/<name-of-deployed-cron-job> -n <target namespace>
kubectl create job --from=cronjob/<cron-job-name> <job-name> -n <namespace>
您可以随时使用 删除作业执行 kubectl delete job <job-name> -n <namespace>
kubectl get cronjobs -n <namespace>
answer,因为此功能现已实现
我的原始答案对于低于 v1.10.1 的旧版本 kubectl 仍然正确====================================================== =========================
除了创建一个新工作(正如其他答案所建议的那样),目前没有办法做到这一点。现在这是 kubernetes 中的一个功能请求,可以在此处跟踪:
kubectl
之外的工具,K9s CLI是一个很棒的工具,除其他功能外,它还具有允许您触发 cronjobs 的触发命令。 为此,请进入 K9s 界面,使用命令
:cronjobs
搜索您的 cronjobs,选择要触发的任务并输入
t
。在幕后,它可能使用
Job
配置创建
CronJob
,就像这个答案 建议的那样。