3

当我将 Cronjob Schedule 设置为时*/1 * * * *,它会起作用。

当我设置任何数字时0-59crontab minute例如30 * * * *,它也会起作用。

但是,当我将 Cronjob Schedule 设置为时30 11 * * *,它甚至不会在 11:30 创建作业。

遵循所有配置:

 apiVersion: batch/v1beta1
 kind: CronJob
 metadata:
   name: hello
 spec:
   schedule: "33 11 * * *"
   jobTemplate:
     spec:
       template:
         spec:
           containers:
             - name: hello-cronjob
               image: busybox
               command: ["bash","-c","date;echo  Hello from the Kubernetes cluste"]
           restartPolicy: OnFailure
4

2 回答 2

3

这可能是因为您的集群运行在与您使用的时区不同的时区。

您可以使用以下方法检查将设置的时区POD

kubectl run -i --tty busybox --image=busybox --restart=Never -- date.

至于你的yaml它看起来不错,没有必要改变任何spec.schedule价值。

一个可能对您有帮助的小提示,它正在检查来自Jobs.

当您按计划创建CronJob时,它会生成一个Job,您可以使用kubectl get jobs.

$ kubectl get jobs
NAME               DESIRED   SUCCESSFUL   AGE
hello-1552390680   1         1            7s

如果您使用该作业的名称hello-1552390680并将其设置为变量,则可以检查该作业的日志。

$ pods=$(kubectl get pods --selector=job-name=hello-1552390680 --output=jsonpath={.items..metadata.name})

您可以稍后检查日志:

$ kubectl logs $pods
Tue Mar 12 11:38:04 UTC 2019
Hello from the Kubernetes cluster
于 2019-03-12T11:45:08.447 回答
0

尝试一次并测试结果

0 30 11 1/1 * ? *

http://www.cronmaker.com/

于 2019-03-12T05:17:52.133 回答