在K8S里启动一个容器,该容器的设置的时区是UTC0,但是对于很多人而言,其主机环境并不在UTC0。例如中国客户在UTC8。如果不把容器的时区和主机主机设置为一致,则在查找日志等时候将非常不方便,也容易造成误解。

 

1.挂载服务器的时间文件

  当然,pod内部需要有/etc/localtime这个文件,否则pod会启动失败

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
namespace: default
labels:
app: my-pod

spec:
containers:
- name: my-pod
image: nginx
volumeMounts:
- name: host-time
mountPath: /etc/localtime
readOnly: true
volumes:
- name: host-time
hostPath:
path: /etc/localtime

 

2.传递变量

  这种比较方便,只需要修改yaml文件就可以

apiVersion: v1
kind: Pod
metadata:
name: pod-env-tz
spec:
containers:
- name: ngx-time
image: nginx:latest
env:
- name: TZ
value: Asia/Shanghai

 

3.制作docker镜像时添加

# 拷贝到当前目录
cp /usr/share/zoneinfo/Asia/Shanghai ./localtime
vim timezone
Asia/Shanghai
# 修改dockerfile

FROM nginx

MAINTAINER zexiong.li@dena.com
... ...
ADD localtime /etc/localtime # 添加
ADD timezone /etc/timezone # 添加
... ...

作者:​​小家电维修​

转世燕还故榻,为你衔来二月的花。