Kubernetes設置Pod時區

在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/localtimeget

要更新容器中的時區也是用一樣的方式,比方說下面的例子:同步

---
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

相關文章
相關標籤/搜索