Openshift CronJob未针对特定时间计划启动
我目前正在尝试在Openshift中创建一个每天凌晨3点开始的CronJob。使用带有步长值(例如“0*/1***”)的计划创建CronJob可以正常工作,并且作业可以正确启动,但是当创建带有特定计划(例如“0 3***”或“0 3*/1**”)的CronJob时,CronJob根本不会启动 我在监控部分检查了时间戳,时间戳显示在与CronJob时间表相同的时区中 关于如何解决/解决此问题,或者CronJob是否可能使用与日志中显示的时区设置不同的时区设置,有何想法 我使用的是openshift v3.9.102和kubernetes v1.9.1+a0ce1bc657 我的作业配置:Openshift CronJob未针对特定时间计划启动,openshift,openshift-3,kubernetes-cronjob,Openshift,Openshift 3,Kubernetes Cronjob,我目前正在尝试在Openshift中创建一个每天凌晨3点开始的CronJob。使用带有步长值(例如“0*/1***”)的计划创建CronJob可以正常工作,并且作业可以正确启动,但是当创建带有特定计划(例如“0 3***”或“0 3*/1**”)的CronJob时,CronJob根本不会启动 我在监控部分检查了时间戳,时间戳显示在与CronJob时间表相同的时区中 关于如何解决/解决此问题,或者CronJob是否可能使用与日志中显示的时区设置不同的时区设置,有何想法 我使用的是openshift
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: update-prices
spec:
schedule: "0 3 * * *"
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 1
jobTemplate:
spec:
template:
metadata:
labels:
parent: "cronjobpcurl"
spec:
containers:
- name: curljob
image: curlimages/curl:latest
command: ["curl", "--insecure", "https://www.example.com"]
imagePullPolicy: Always
restartPolicy: Never
根据:
所有cron作业调度时间都基于启动作业的主机的时区
因此,您可能要检查的第一件事是OpenShift主节点的时区
然后,检查您的cronjob是否正在运行(“上次计划”,这里是14秒前运行的):
您还可以使用oc descripe cronjob my cronjob
查看事件以及cronjob上次运行的时间。此外,它还会在出现错误时告诉您:
$ oc describe cronjob my-cronjob
[..]
Last Schedule Time: Thu, 30 Apr 2020 19:00:00 +0200
Active Jobs: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 80s cronjob-controller Created job my-cronjob-1588273680
Normal SawCompletedJob 70s cronjob-controller Saw completed job: my-cronjob-1588273680
该问题是由Openshift主节点的时区引起的,该节点设置为ET,即使pods内使用的时区是UTC。谢谢你的帮助!
$ oc describe cronjob my-cronjob
[..]
Last Schedule Time: Thu, 30 Apr 2020 19:00:00 +0200
Active Jobs: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 80s cronjob-controller Created job my-cronjob-1588273680
Normal SawCompletedJob 70s cronjob-controller Saw completed job: my-cronjob-1588273680
controller.go:597] quota admission added evaluator for: {batch jobs}
event.go:221] Event(v1.ObjectReference{Kind:"CronJob", Namespace:"myproject", Name:"my-cronjob", UID:"8369a749-8b15-11ea-807e-080027e8770f", APIVersion:"batch/v1beta1", ResourceVersion:"3736", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' Created job my-cronjob-1588273680
controller.go:597] quota admission added evaluator for: {batch jobs}
event.go:221] Event(v1.ObjectReference{Kind:"Job", Namespace:"myproject", Name:"my-cronjob-1588273680", UID:"e9a3d2c5-8b15-11ea-807e-080027e8770f", APIVersion:"batch/v1", ResourceVersion:"3837", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' Created pod: my-cronjob-1588273680-q2tdc
[..]