K8S 中默认使用0时区,如果不设置为当前时区,有些应用会报错,比如 minio 等;

查看原时区:

kubectl exec -ti minio-xxx-xxx bash -n nsName

nsName 是命名空间;

[root@minio-xxx-xxx /] date
Thu Jul 14 03:16:44 UTC 2022

此时时区是 UTC;

设置时区

打开之前的 dp.yaml 文件,在其中添加上 /etc/localtime 文件的挂载

volumeMounts:
 - mountPath: /etc/localtime
   name: localtime
volumes:
- hostPath:
    path: /etc/localtime
    type: ""
  name: localtime

此步,也可以在 dashboard 中直接编辑 yaml 配置,但最好是每次调整都编辑原始文件,这样省的某次的修改以后找不到了;

重新发布:

kubectl apply -f dp.yaml

重启后,再到 pod 中查看当前时间

kubectl exec minio-xxx-xxx bash -n mall
[root@minio-xxx-xxx /] date
Thu Jul 14 11:26:05 CST 2022

时区和时间都正常了!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐