当我将Cronjob Schedule设置为*/1 * * * *
时,它将起作用。
当我在0-59
中将crontab 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
答案 0 :(得分:0)
答案 1 :(得分:0)
这可能是因为您的群集运行的时区不同于您使用的时区。
您可以使用以下方法检查在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