【问题标题】:Kubernetes cluster default timezone?Kubernetes集群默认时区?
【发布时间】:2020-05-19 21:54:02
【问题描述】:

我对 Kubernetes 集群使用的时区有疑问。我知道我可以调整 pod 的时区 (https://evalle.xyz/posts/kubernetes-tz/)。

但是,我想确保我的集群始终在时区中使用 UTC。这是默认选项还是会随着时间而改变?

【问题讨论】:

  • 感觉就像 k8s 团队生活在没有时区的平坦地球上。 cronjob 任务也基于 UTC0 运行。

标签: kubernetes timezone google-kubernetes-engine kubernetes-cluster


【解决方案1】:

查看文档Using Container-Optimized OS

Container-Optimized OS 是 Kubernetes 中的默认节点 OS Image Google Cloud Platform 上的引擎 和其他 Kubernetes 部署。

然后转到 Changing the time zone 以获得容器优化操作系统:

Container-Optimized OS 的默认时区UTC0

注意 /etc 是无状态的,所以时区将被重置为 每次重启时默认 (UTC0)。

因此,如果您不将节点的 Image type 从默认的 Container-Optimized OS 更改为 Ubuntu,则与时区设置无关。

此外,我检查了我的集群:

$ date
Tue Feb  4 09:15:51 UTC 2020
$ ls -l /etc/ | grep localtime
lrwxrwxrwx 1 root root    25 Jan 29 08:37 localtime -> ../usr/share/zoneinfo/UTC

【讨论】:

    【解决方案2】:

    容器不从主机继承时区,只从内核访问时钟 - 始终是 UTC。大多数镜像的默认时区是 UTC,但它并不能保证并且可能因容器而异,因为它可以在 pod 或镜像级别进行更改。

    您可以通过将 UTC TZif 文件从节点机器挂载到容器中的 /etc/localtime 来设置 pod 的时区。例如:

    apiVersion: v1
    kind: Pod
    metadata:
      name: date-pod-amsterdam
    spec:
      containers:
      - image: ubuntu:21.04
        name: ubuntu
        args:
        - date
        volumeMounts:
        - name: zoneinfo
          mountPath: /etc/localtime
          subPath: UTC
          readOnly: true
      volumes:
      - name: zoneinfo
        hostPath:
          path: /usr/share/zoneinfo
      restartPolicy: OnFailure
    

    有时,容器将其时区设置为 TZ 环境变量,该环境变量在 /etc/localtime 之前,并且也需要将其设置为 UTC

    spec:
      containers:
      - env:
        - name: TZ
          value: UTC
    

    这个过程可以通过使用k8tz 来简化,它是一个 kubernetes 准入控制器和一个将时区注入 Pod 的 CLI 工具。您可以使用 helm 轻松安装它,它会自动在集群中创建的任何 pod 上设置这些属性。默认情况下(如果未另行指定),它强制执行 UTC。

    helm repo add k8tz https://k8tz.github.io/k8tz/
    helm install k8tz k8tz/k8tz
    

    免责声明:我是 k8tz 的作者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-17
      • 2022-11-23
      • 2018-06-02
      • 2019-04-06
      • 2019-06-22
      • 1970-01-01
      • 2019-03-26
      • 2020-03-23
      相关资源
      最近更新 更多