Kubernetes在错误的时间运行cronjob

时间:2019-05-13 03:12:33

标签: kubernetes kubernetes-cronjob

我有一个时间表:    schedule: "0 10,14,18 * * *",我想在上午10:00、2:00 pm、6:00pm进行这项工作。

由于我位于UTC + 8时区,因此此cronjob看起来运行不正常。

是否要为时区添加配置?

3 个答案:

答案 0 :(得分:3)

From Kubernetes documentation

  

注意:所有CronJob计划:时间均基于启动作业的主服务器的时区。

如果在香港部署您的主机,应该没问题。 GCP在中国没有地区(请参见here

您可以考虑在AWS上部署Kubernetes。 Aws在中国北京和中国宁夏设有地区(请参见here

或者可能在Azure上(请参见here

完成上述设置后,schedule: "0 10,14,18 * * *"应该可以工作

答案 1 :(得分:1)

如果您使用的是托管GCP K8,则时间以UTC为单位

Docs

答案 2 :(得分:0)

对于vanila kubernetes,您可以修复静态pod。添加块

    volumeMounts:
    - name: localtime
      mountPath: /etc/localtime
      readOnly: true
volumes:
  - hostPath:
    path: /etc/localtime
    name: localtime

这使kube-controller-manager与主机在同一时区运行。