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内的时区配置文件。