在kubernetes集羣中運行的容器默認會使用格林威治時間,即北京時間爲12點時,容器時間爲4點,而有些分佈式系統對於時間是極爲敏感的,不容許出現時間偏差。nginx
爲了保持容器時間與宿主機時間同步,能夠使用hostPath的方式將宿主機上的時區文件掛載到容器中。api
好比當前宿主機的時區爲Asia/Shanghai,那麼用ll /etc/localtime時會顯示連接到/usr/share/zoneinfo/Asia/Shanghaiapp
[root@localhost ~]# ll /etc/localtime
分佈式
lrwxrwxrwx. 1 root root 35 Jul 12 14:26 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
.net
若是須要系統修改時區,那麼只須要將時區文件覆蓋到/etc/localtime,如code
[root@localhost ~]# cp -f /usr/share/zoneinfo/{{時區文件}} /etc/localtime
get
要更新容器中的時區也是用一樣的方式,比方說下面的例子:同步
--- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx spec: template: metadata: labels: app: nginx spec: containers: - name: nginx image: 'nginx:latest' imagePullPolicy: IfNotPresent resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80 volumeMounts: - name: timezone mountPath: /etc/localtime volumes: - name: timezone hostPath: path: /usr/share/zoneinfo/Asia/Shanghai
這樣至關於爲nginx容器設置了上海時區,這樣容器中的時間就會和宿主機保持一致,固然也能夠使用其餘的方法,只要能將時區文件更新到/etc/localtime便可kubernetes