详情页标题前

腾讯云容器服务解决容器内时区不一致问题同尘科技

详情页1

操作场景

腾讯云容器服务(TKE)集群中容器系统时间默认为 UTC 协调世界时间 (Universal Time Coordinated),与节点本地所属时区 CST (上海时间)相差8个小时。在容器使用过程中,当需要获取系统时间用于日志记录、数据库存储等相关操作时,容器内时区不一致问题将会带来一系列困扰。 默认时间不支持直接以集群为单位进行修改,但可在单个容器内进行修改。本文提供了容器内时区不一致问题的多种解决方案,请选择合适的方案进行操作:方案1:Dockerfile 中创建时区文件(推荐)方案2:挂载主机时区配置到容器

操作环境

本文中所有操作步骤均在 TKE 集群节点上完成,相关操作环境如下所示,请对应您实际情形结合文档解决问题:

角色 地域 配置 操作系统 Kubernetes 版本信息
节点 华南地区(广州) CPU:1核内存::1GB带宽:1 Mbps系统盘:50 GB(普通云硬盘) CentOS Linux 7(Core) 1.16.3

问题定位

1. 参考 使用标准登录方式登录 Linux 实例(推荐),登录目标节点。 2. 执行以下命令,查看本地时间。

date

返回结果如下图所示:

腾讯云容器服务解决容器内时区不一致问题同尘科技

3. 依次执行以下命令,查看容器内 CentOS 系统默认时区。

docker run -it centos /bin/sh
date

返回结果如下图所示:

腾讯云容器服务解决容器内时区不一致问题同尘科技


对比发现,本地时间与容器内时区不一致。 4. 执行以下命令,退出容器。

exit

操作步骤

方案1:Dockerfile 中创建时区文件(推荐)

在构建基础镜像或在基础镜像的基础上制作自定义镜像时,在 Dockerfile 中创建时区文件即可解决单一容器内时区不一致问题,且后续使用该镜像时,将不再受时区问题困扰。 1. 执行以下命令,新建 Dockerfile.txt 文件。

vim Dockerfile.txt

2.i 切换至编辑模式,写入以下内容,配置时区文件。

FROM centosRUN rm -f /etc/localtime \&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo "Asia/Shanghai" > /etc/timezone

3.Esc,输入 :wq,保存文件并返回。 4. 执行以下命令,构建容器镜像。

docker build -t centos7-test:v1 -f Dockerfile.txt .

返回结果如下图所示:

腾讯云容器服务解决容器内时区不一致问题同尘科技

5. 依次执行以下命令,启动容器镜像并查看容器内时区。

date
docker run -it centos7-test:v1 /bin/sh
date

此时,容器内时区已与本地时间一致。如下图所示:

腾讯云容器服务解决容器内时区不一致问题同尘科技

6. 执行以下命令,退出容器。

exit

方案2:挂载主机时区配置到容器

解决容器内时区不一致问题,还可以通过挂载主机时间配置到容器的方式进行解决。该方式可以在容器启动时进行设置,也可以在 YAML 文件中使用主机路径挂载数据卷到容器。

容器启动时挂载主机时间配置到容器

挂载主机时间到容器内覆盖配置时,有以下两种选择:方式1:挂载本地 /etc/localtime:需确保该主机时区配置文件存在且时区正确。 方式2:挂载本地 /usr/share/zoneinfo/Asia/Shanghai:当本地 /etc/localtime 不存在或者时区不正确时,可选择直接挂载该配置文件。请对应实际情况,选择以下方式,进行挂载主机时间配置到容器:方式1方式2挂载本地 /etc/localtime1. 依次执行以下命令,查看本地时间并挂载本地 /etc/localtime 到容器内。

date
docker run -it -v /etc/localtime:/etc/localtime centos /bin/sh
date

返回结果如下图所示,容器内时区已与本地时间一致:

腾讯云容器服务解决容器内时区不一致问题同尘科技

2. 执行以下命令,退出容器。

exit

挂载本地 /usr/share/zoneinfo/Asia/Shanghai1. 依次执行以下命令,查看本地时间并挂载本地 /usr/share/zoneinfo/Asia/Shanghai 到容器内。

date
docker run -it -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime centos /bin/sh
date

返回结果如下图所示,容器内时区已与本地时间一致:

腾讯云容器服务解决容器内时区不一致问题同尘科技

2. 执行以下命令,退出容器。

exit

YAML 文件使用主机路径挂载数据卷到容器

本节内容以 mountPath:/etc/localtime 为例,介绍在 YAML 文件中如何通过数据卷挂载主机时区配置到容器内,解决容器内时区不一致的问题。 1. 在节点上执行以下命令,创建 pod.yaml 文件。

vim pod.yaml

2.i 切换至编辑模式,写入以下内容。

apiVersion: v1kind: Podmetadata:  name: test  namespace: defaultspec:  restartPolicy: OnFailure  containers:  - name: nginx    image: nginx-test    imagePullPolicy: IfNotPresent    volumeMounts:    - name: date-config      mountPath: /etc/localtime    command: ["sleep", "60000"]  volumes:  - name: date-config    hostPath:      path: /etc/localtime

3.Esc,输入 :wq,保存文件并返回。 4. 执行以下命令,新建该 Pod。

kubectl create -f  pod.yaml

返回结果如下图所示:

腾讯云容器服务解决容器内时区不一致问题同尘科技

5. 依次执行以下命令,查看该容器内时区。

date
kubectl exec -it test date

返回结果如下图所示,与本地系统时区一致即为成功:

腾讯云容器服务解决容器内时区不一致问题同尘科技



容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/148414.html

(0)
上一篇 2023年12月9日 下午12:55
下一篇 2023年12月9日 下午12:55
详情页2

相关推荐

  • 腾讯云内容分发网络CDN客户案例

    LOGO 详细说明  大众点评(线上订餐平台)大众点评网商户众多、更新频率高,对内容分发的需求非常频繁,使用腾讯云 CDN 后,稳定性和安全性得到大幅提高,极大的优化了用户访问的速度。 小红书(社区电商平台)小红书作为一家海外购物一站式发现平台、社区电商平台,采用了腾讯云 CDN 服务后,商品图片得到极速加载,有效提升了用户访问体验和购物体验。…

    2023年12月9日
  • 腾讯云对象存储清单

    简介 本文档提供关于清单的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket inventory 设置清单任务 设置存储桶的清单任务 GET Bucket inventory 查询清单任务 查询存储桶的清单任务 DELETE Bucket inventory 删除清单任务 删除存储桶的清单任务 设置清单任务 功能说明 PU…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云云函数(SCF)SCF + COS 实现自定义计算文件哈希值-云淘科技

    概述 数据在客户端和服务器间传输时可能会出现错误,对象存储(Cloud Object Storage,COS)结合云函数(Serverless Cloud Function,SCF)可以通过数据校验的方式保证上传数据的完整性,例如 MD5 码校验。用户在 COS 上传文件过程中,SCF 将帮助校验用户上传的对象,保证上传数据的完整性与正确性。 实践背景 业内…

    2023年12月9日
  • 腾讯云内容分发网络CDN复制配置

    配置场景 复制配置功能支持将存量加速域名的配置复制到一个或多个新添加速域名。您可按需选择某一个存量域名,将其域名配置复制到新添域名上,不用再为新添域名单独一个个地配置控制台的域名配置,更方便快捷地接入域名。注意已关闭/已封禁/备案过期/含自有证书/存在不支持的区域差异化历史配置的域名,不支持复制配置功能。若被复制域名存在后端特殊配置(非控制台配置),该特殊配…

    2023年12月9日
  • 腾讯云容器服务在 TKE 上使用自定义指标进行弹性伸缩同尘科技

    操作场景 容器服务 TKE 基于 Custom Metrics API 支持许多用于弹性伸缩的指标,涵盖 CPU、内存、硬盘、网络以及 GPU 相关的指标,覆盖绝大多数的 HPA 弹性伸缩场景,详细列表请参见 自动伸缩指标说明。针对例如基于业务单副本 QPS 大小来进行自动扩缩容等复杂场景,可通过安装 prometheus-adapter 来实现自动扩缩容。…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。