关于 rke 集群 kube-scheduler 时区问题

默认情况下,kubernetes 的时区是 UTC,而在国内的主机一般都是 UTC+8。

这将导致使用 CronJob 创建任务的时候不能按照 UTC+8 去设置任务的执行时间。

要解决这个问题,只需将 kube-scheduler 组件的时区设置为本机即可,操作如下:

编辑 cluster.yaml(编辑集群 > 编辑为 YAML)并将此行添加到 services 部分:

services:
    kube-controller:
      extra_binds:
        - '/etc/localtime:/etc/localtime'

保存,等待集群更新完成。

之后就可以按照 UTC+8的时间设置任务即可。

另外,你可以通过将 .spec.timeZone 设置为一个有效时区的名称

参考:CronJob | Kubernetes

亲爱的楼主,目前已经通过rke安装的1.24,并且跑着业务。可以通过修改cluster.yml,直接rke up,就行修复吗?

理论上是这样的,你可以先找个测试环境去测试下

已验证,是有效的,
还可以追加 环境变量更稳妥
extra_env:
- “TZ=Asia/Shanghai”

1 个赞