解决k8s容器时区(差8小时)不一致问题

部署项目以后日志打印和当前咱们所在的时间差8个小时,我想应该是国外的标准时区把,只能改成咱们自己的时区,我的解决方式是这样的

默认k8s是没有开启PodPreset的,需要开启,命令如下

vim /etc/kubernetes/manifests/kube-apiserver.yaml

在末尾添加以下内容

- --runtime-config=settings.k8s.io/v1alpha1=true

再在enable-admission-plugins=NodeRestriction下加一个PodPreset

- --enable-admission-plugins=NodeRestriction,PodPreset

不用重启,默认改完自动加载了,我的k8s版本是1.16.1

我的配置文件是这样的

然后我们写一个yaml文件,内容如下

apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
  name: tz-env
  namespace: gsa-geographic-services
spec:
  selector:
    matchLabels:
  env:
    - name: TZ
      value: Asia/Shanghai

namespace之所以写gsa-geographic-services是因为我项目都是在gsa-geographic-services命名空间下,那么这个命名空间都是可以支持当前这个时区的。

创建完以后就提交到K8s里

kubectl apply -f time.yaml

这样配置就大公告成了,然后k8s的项目需要重新重启,我每次都是更新下镜像,然后就会发现已经是当前的时间了!

没有做配置的时候,我操作记录的是凌晨02点

更新配置,更新项目以后,时间变为正确的了

希望可以帮助你!

猜你喜欢

转载自blog.csdn.net/dfBeautifulLive/article/details/106049457