Simon Zhao
2 min readOct 15, 2020

如何设置kubernetes内的POD容器时区和主机所在时区保持一致

一般情况下,kubernetes内的pod和主机只共享两个Linux namespace:

  • Network namespace 这个namespace让pod内的容器可以共享一个IP地址,也可以让pod内容器共享一个端口空间,通过localhost互相访问
  • IPC namespace 支持进程间调用,比如通过基于本地文件的socket通信

但是如果你部署应用,你会发现POD内的时区和所在主机的时区不一致:

查看pod内时区的方法:

kubectl exec -it mypod sh

进入pod内查看:

cat /etc/localtime

如果发现和主机的不一致,可以尝试如此部署你的pod:

spec:  containers:    ....    volumeMounts:      - name: date-config        mountPath: /etc/localtime    volumes:
...
- name: date-config hostPath: path: /usr/share/zoneinfo/Asia/Shanghai

主要目的是把所在主机的时区信息文件 /usr/share/zoneinfo/Asia/Shanghai 加载到pod内的时区配置文件。

Simon Zhao
Simon Zhao

Written by Simon Zhao

Security techie, developer, technology manager, software person and app-stuff doer..

No responses yet