k8s cronjob执行时间
问题现象
一般cronjob执行时间会比预期晚8小时。
问题分析
cronjob执行时区以kube-controller-manager为准,而kube-controller-manager默认是0时区。
解决问题
解决方式1
kube-controller-manager容器挂载宿主机timezone,更改为东8区。
解决方式2
cronjob执行时间比预期减8小时。
解决方式3(推荐)
高版本k8s 1.27.0 cronjob支持指定时区。
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/cron-jobs/
确认当前k8s版本cronjob是否支持timeZone字段。
kubectl explain cronjob --recursive | grep timeZone