0

我有安装在“EST”时区的 kubernetes 集群,如果我看到作业描述说在“ Sun,2020 年 2 月 2 日 19:01:09 -0500 ”运行,并且我的 cron 表达式说 schedule: “1 0 * * *" "即每天 12:01 分钟,我在下面看到作业也同时开始,但在 EST 时区

Parallelism:              1
Completions:              1
Start Time:               Sun, 02 Feb 2020 19:01:09 -0500
Completed At:             Sun, 02 Feb 2020 19:01:24 -0500
Duration:                 15s
Active Deadline Seconds:  30s
Pods Statuses:            0 Running / 1 Succeeded / 0 Failed

但是当我看到 Pod 的日志时,即显示它在计划前 1 分钟运行

 2020-02-02 23:59:51,154 INFO TestMetrics - Daily Job : TestMetrics  Daily Job Script Started - V1.0.0

我想要下面的澄清?

  1. POD 是否始终在 UTC 时区运行?如果主节点和工作节点时区配置为 EST
  2. 为什么 Job 比 Scheduled 提前 1 分钟运行?

Linux 版本:

3.10.0-514.el7.x86_64

Kubectl 版本

Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.12", GitCommit:"a8b52209ee172232b6db7a6e0ce2adc77458829f", GitTreeState:"clean", BuildDate:"2019-10-15T12:04:30Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}
4

2 回答 2

0
  1. POD 是否始终在 UTC 时区运行?如果主节点和工作节点时区配置为 EST

所有 CronJobschedule:时间都基于启动作业的 master 的时区。更多细节可以在官方文档中找到。

  1. 为什么 Job 比 Scheduled 提前 1 分钟运行?

您向我们展示的 cron 表达式是错误的。它应该是:

  • 0 1 12 ? * * *如果作业应该在中午后 1 分钟触发,或者

  • 0 1 0 ? * * *如果作业应该在午夜后 1 分钟触发

我希望它有所帮助。

于 2020-02-04T11:01:45.453 回答
0

Kubernetes 文档为此更新 https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

于 2020-03-15T03:43:26.870 回答