前几天在使用k8s中的CronJob时发现了一个很奇怪的问题, 按照官方文档的demo跑起来是没有任何问题的,
但是当我想要设置每天一个固定时间点例如12点20执行一个job的时候,到了时间之后无论如何都不会执行。
一开始怀疑是cron表达式写的有问题,但是经过多次试验倒是没问题,然后就想到了时区的问题。
首先我先尝试使用PodPreset来修改所有容器的时区(在pod 创建时,用户可以使用 podpreset 对象将特定信息注入 pod 中,这些信息可以包括 secret、 卷、 卷挂载和环境变量)
默认k8s是没有开启PodPreset的,开启PodPreset需要修改master节点上的/etc/kubernetes/manifests/kube-apiserver.yaml文件
1 |
首先在CMD末尾添加一个--runtime-config=settings.k8s.io/v1alpha1=true |