我在 Kubernetes 集群中遇到日期和时间问题。我的主机时间是使用 ntp 同步的。虽然我在配置集群后同步了它。现在,在我的集群中创建的所有 pod 都将有错误的时区。我发现问题出在码头工人本身。当我使用的是通过 EXSi 的 CentOS 7 虚拟机时,似乎 docker 容器正在从 exsi 主机而不是我猜的 centos 获取 UTC 时区?有没有办法解决这个问题,即产生的新 pod 将采用 CentOS 时区而不是 EXSi 主机时区?我本可以使用 TZ env,但对于像 alpine 这样的 docker 基础映像,似乎需要 tzdate 包。所以我不想为某些应用程序重建 docker,我可以像 fluentd 等一样开箱即用地进行预构建。有没有办法解决它?
谢谢你
据我所知,VMWware ESX/ESXi 主机设置来宾虚拟机 (VM) 以与主机(或管理程序)同步时间。
假设 NTP 在 ESXi 主机上运行,CentOS VM 上的时钟也必须同步。
容器中的时钟与主机相同,因为它是由内核控制的。在这种情况下,主机是 CentOS VM。因此容器的时钟也应该同步。
时区由操作系统层控制,因此在容器中可能会有所不同。您可以挂载时区文件来克服这个问题。
据我了解,这正是您发现的问题。
ESXi 5.5 及更高版本默认使用 UTC,不支持更改时区。