7

根据文档(https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/),我可以在 k8s 中创建具有指定时区的 cron 作业,例如:"CRON_TZ=UTC 0 23 * * *"

我的部署文件是:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: scheduler
spec:
  schedule: "CRON_TZ=UTC 0 23 * * *"
...

在部署期间,我收到一个错误:

CronJob“调度程序”无效:spec.schedule:无效值:“CRON_TZ=UTC 0 23 * * *”:预计正好 5 个字段,找到 6 个:CRON_TZ=UTC 0 23 * * *

Cron 在没有完美时区的情况下工作 ( schedule: "0 23 * * *")

集群版本是:Kubernetes 1.21.2-do.2- digitalocean。

怎么了?

4

1 回答 1

10

前缀将CRON_TZ=<timezone>不可用,直到 1.22。包含在 1.21 版本文档中是一个错误。

最初,添加语法的更改包含在 1.22中,但似乎有人感到困惑并将文档移至 1.21。支持CRON_TZ=<timezone>语法是偶然的,纯粹是因为用于处理调度的包最近升级到了版本 3,增加了对语法的支持。该包是使语法成为可能的关键组件,它只是 1.22 的一部分。

于 2021-08-31T20:53:45.760 回答