如何更改整个 Kubernetes 集群的时区?

ron*_*ine 4 timezone kubernetes

我想将整个 on-prim kubernetes 集群的时区从默认 UTC 更改为 America/Los_Angeles。

我知道可以使用卷将其更改为单一部署[参考:https: //evalle.xyz/posts/kubernetes-tz/]这是一项繁琐的工作,因为我的集群中有很多 Pod。

我正在寻找更好的选择来一次性完成整个集群。非常感谢任何帮助。

Arm*_*vas 5

TL;DR:您将无法在集群中全局设置 TZ。

\n

基于 \xe2\x80\x9c KarlKFI \xe2\x80\x9d 中的答案(Kubernetes pod 中现在几点了?

\n
\n

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

\n

\xe2\x80\xa6

\n
\n

zoneinfo正如您已经提到的,您可以通过绑定主机操作系统的TZ 来更改 POD 的 TZ 。

\n

因此,时区(TZ) 是在 POD 级别本地控制的内容,并且可以全局更改\xe2\x80\x99,因为这应该在 POD 定义内完成。

\n

如果您想更改 TZ 而不绑定zoneinfo主机操作系统,则可以根据(https://serverfault.com/questions/683605/docker-container-time-timezone-will-not-reflect-changes)更改它通过设置 TZ 环境变量。如果您更改映像并在其中设置 TZ 环境变量,则在创建 POD 时,它将从映像继承,因此将使用设置的 TZ 环境变量创建 POD。

\n

所以你唯一的选择是:

\n

1.-绑定zoneinfo每个 POD 中的主机操作系统。

\n

2.-更改集群每个节点上的时区。

\n

3. - 在IMAGE上设置 TZ 环境变量,以便 POD 在创建时继承该值。

\n