欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

同步pod时区,与node主机保持一致

程序员文章站 2022-11-15 08:31:27
问题描述 在安装Kubernetes集群的过程中并没有注意到pod的时间问题,直到在Tomcat上部署应用后发现pod中的时间与Node上的时间不同步,解决这个问题基本上可以有两种思路:...
问题描述


在安装Kubernetes集群的过程中并没有注意到pod的时间问题,直到在Tomcat上部署应用后发现pod中的时间与Node上的时间不同步,解决这个问题基本上可以有两种思路:

直接修改镜像的时间设置,好处是应用部署时无需做特殊设置,但是需要手动构建Docker镜像。

部署应用时,单独读取主机的“/etc/localtime”文件,即创建pod时同步时区,无需修改镜像,但是每个应用都要单独设置。

解决


这里为了快速、简单的解决这个问题,先使用第二种方案,yaml文件中设置时区同步,只需要映射主机的“/etc/localtime”文件。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myweb
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - name: myweb
        image: harbor/tomcat:8.5-jre8
        volumeMounts:
        - name: host-time
          mountPath: /etc/localtime
        ports:
        - containerPort: 80
      volumes:
      - name: host-time
        hostPath:
          path: /etc/localtime

创建deployment后,找到pod,执行date命令检查时间是否同步

kubectl exec 123456-7890 date
//123456-7890是pod的id,可以通过kubectl get pod来获取