kubernetes的Pod和主机之间的日期和时间同步

问题描述 投票:0回答:1

我在kubernetes集群中的日期和时间有问题。使用kubeadm在数据中心中设置集群。我的主机服务器时间是使用NTP同步的,尽管我已在配置群集后对其进行了同步。现在,在群集中创建的所有Pod的时间都会错误。因此,原因似乎是码头工人采用了UTC时区。对于临时解决方案,我在我们创建的Pod中将hostmeachine与volume mount / etc / localtime一起使用,但是对于我使用来自helm repo的helm安装的应用程序似乎不可行。有什么办法可以解决此问题?我不希望每个吊舱都在正确的时间挂载音量。码头工人是否可以通过任何方式从主机获取时区。

仅供参考,在CentOS 7上设置了k8s集群。它们是在EXSi上创建的VM。谢谢

datetime kubernetes kubernetes-pod
1个回答
0
投票

它没有坏。它正在按设计工作。

容器中的时钟与主机上的时钟相同,因为它是由该主机的内核控制的。

时区由OS层控制,因此容器内的时区可能不同。解决方法是使用特定的时区配置和hostPath卷来设置特定的时区。

apiVersion: v1
kind: Pod
metadata:
  name: busybox-sleep
spec:
  containers:
  - name: busybox
    image: busybox
    args:
    - sleep
    - "1000000"
    volumeMounts:
    - name: tz-config
      mountPath: /etc/localtime
  volumes:
    - name: tz-config
      hostPath:
        path: /usr/share/zoneinfo/Europe/Prague
        type: File

由于使用头盔,因此应查看所用映像的文档,并查找可以更改的时区变量,以便可以在部署时将其放入value.yaml或使用--set选项。

我建议阅读Kubernetes Container Timezone Management

© www.soinside.com 2019 - 2024. All rights reserved.