Hi I have below cron job running on kubernets.
# cronjob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: loadjob
spec:
schedule: "05 10 31 Mar *"
successfulJobsHistoryLimit: 3
jobTemplate:
spec:
template:
metadata: # Dictionary
name: apiaplication
labels: # Dictionary
product_id: myprod
annotations:
vault.security.banzaicloud.io/vault-role: #{KUBERNETES_NAMESPACE}#
prometheus.io/path: /metrics
prometheus.io/port: "80"
prometheus.io/scrape: "true"
spec:
containers:
- name: al-onetimejob
image: #{TIMELOAD_IMAGE_TAG}#
imagePullPolicy: Always
restartPolicy: OnFailure
imagePullSecrets:
- name: secret
在上面的cron表达式中,我使用cron syntex schedule将其设置为今天上午10.05AM:“05 10 31 Mar *”但不幸的是,当我检查后10.05我的作业(pod)没有运行.所以我发现它没有运行预期在10.05使用上述表达式.有人可以帮我写正确的cron syntex.任何帮助将不胜感激.谢谢
3条答案
按热度按时间zzlelutf1#
Cron看起来不错,但会检查您的Kubernetes集群的时区。K8s集群可能遵循UTC时区,希望您在本地****时区中计数相同。
这个cron应该工作:
05 10 31 Mar *
,但基于群集的日期设置。mwngjboj2#
我认为这应该做
5 10 31 MAR FRI
的工作。我可以推荐使用像this这样的网站来编写你的
cron
时间表。zfciruhq3#
首先检查集群中的时区,执行date命令,因为大部分时区都是UTC,使用date命令如下
现在根据您的时区在cronjob中设置计划时间。对于您的要求,
5 10 31 MAR *
应该可以工作。使用此crontab站点根据语法制定时间。