k8s 时区 docker 时区 中国时区

#k8s 修改时区

##第一种是把主机的时区文件挂载到pod内

<code>vi time-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-tz
  namespace: default
  labels: 
    app: my-pod
     
spec:
  containers:
  - name: my-tz
    image: harbor.mvmyun.com/dev/nginx
    ports:
    - containerPort: 80
    volumeMounts:
      - name: timezone
        mountPath: /etc/localtime
        readOnly: true
  imagePullSecrets:
  - name: regcred
  volumes:
    - name: timezone
      hostPath: 
        path: /usr/share/zoneinfo/Asia/Shanghai/<code>


#第二种是使用PodPreset来预设

<code>vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --enable-admission-plugins=NodeRestriction,DefaultStorageClass,PodPreset
- --runtime-config=settings.k8s.io/v1alpha1=true/<code>
<code>vim podpreset.yaml
apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
  name: tz-env
spec:
  selector:
    matchLabels: #matchLabels 为空 表示应用所有容器
  env:
  - name: TZ
    value: Asia/Shanghai/<code>

#查看已创建的podpresets

kubectl get podpresets

####注意: PodPreset是针对ns的 不是全局!


#在dockerfile中修改

Alpine

<code>RUN apk --no-cache add tzdata  && \\
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \\
    echo "Asia/Shanghai" > /etc/timezone /<code>

--no-cache参数不缓存文件,有助于减少最终体积。


Ubuntu

<code>RUN echo "Asia/Shanghai" > /etc/timezone && \\
    dpkg-reconfigure -f noninteractive tzdata/<code>

CentOS

<code>RUN echo "Asia/shanghai" > /etc/timezone;/<code>


分享到:


相關文章: