问题:
在创建pod container后发现里面的时区是UTC,对于国内习惯还是CST时区比较易读;那如何解决这种问题嘛?暂时想到的两种办法:
[root@linux-node1 ~]# kubectl exec flask-app-nginx-66b56f556c-zb84s date -n flask-app-extions-stage
Mon Jul 14 07:32:52 UTC 2018
[root@linux-node1 ~]# date
Mon Jul 14 15:32:52 CST 2018
- 直接修改镜像的时间设置,好处是应用部署时无需特殊设置,但是需要手动从新构建Docker镜像
- 部署应用时,单独读取主机的”/etc/localtime”,无需修改镜像,但是每个应用都要单独设置。
解决:
为了快速,简单的解决此问题,先使用第二种方法;yaml文件中映射主机的”/etc/localtime”文件, 添加yaml配置:
......
......
spec:
containers:
- name: nginx
image: nginx:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
volumeMounts:
- name: nginx-conf
mountPath: "/etc/nginx/nginx.conf"
subPath: nginx.conf
- name: host-time
mountPath: /etc/localtime
volumes:
- name: nginx-conf
configMap:
name: nginx-conf
- name: host-time
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
......
......
[root@linux-node1 flask_app_nginx]# kubectl apply -f flask_app_nginx_deploy.yaml
[root@linux-node1 flask_app_nginx]# kubectl exec flask-app-nginx-f4d9759b4-xq4rk date -n flask-app-extions-stage
Mon Jul 14 15:50:29 CST 2018
[root@linux-node1 flask_app_nginx]# date
Mon Jul 14 15:50:29 CST 2018
# 以上,就完成了pod container的时区修改问题...
其实还有一种方法就是将 /usr/share/zoneinfo/Asia/Shanghai
这个文件做成之前我挂载nginx配置文件那样通过ConfigMap的形式挂载.