首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes集群默认时区?

Kubernetes集群默认时区?
EN

Stack Overflow用户
提问于 2020-02-04 05:29:14
回答 3查看 11.9K关注 0票数 6

我有一个关于Kubernetes星系团使用的时区的问题。我知道我可以调整豆荚的时区(https://evalle.xyz/posts/kubernetes-tz/)。

但是,我希望确保我的集群总是在时区使用UTC。这是一个默认选项,还是可以随着时间的推移而改变?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-04 09:09:16

请看一下文档使用容器优化操作系统

容器优化操作系统是Kubernetes引擎和其他Kubernetes在Google平台上部署的默认节点Optimized。

然后移动到容器优化操作系统的更改时区

容器优化操作系统的默认时区UTC0.

请注意,/etc是无状态的,因此时区将被重置为默认(UTC0)每次重新启动。

因此,如果不将节点的Image type从默认的容器优化操作系统更改为Ubuntu,则与时区设置无关。

此外,我还检查了集群:

代码语言:javascript
复制
$ 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
票数 6
EN

Stack Overflow用户

发布于 2021-10-31 20:33:07

容器不会从主机继承时区,而只能从内核访问时钟--这通常是UTC。大多数映像的默认时区是UTC,但是它没有得到保证,并且可能因容器而不同,因为它可以在pod或图像级别上更改。

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

代码语言:javascript
复制
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

代码语言:javascript
复制
spec:
  containers:
  - env:
    - name: TZ
      value: UTC

这个过程可以通过使用k8tz、kubernetes接纳控制器和CLI工具将时区注入到Pods来简化。您可以轻松地安装它,它将自动在集群中创建的任何吊舱上设置这些属性。默认情况下(如果不另行指定),它将强制执行UTC。

代码语言:javascript
复制
helm repo add k8tz https://k8tz.github.io/k8tz/
helm install k8tz k8tz/k8tz

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

票数 5
EN

Stack Overflow用户

发布于 2022-05-09 21:54:08

看起来k8tz很好,我刚刚试过了,问题是,我们能不能控制在特定名称空间上创建的豆荚,而不是在我的k8s集群中的所有名称空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60051144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档