通过环境变量修改pod时间

容器
问题描述

kubernetes部署的pod与北京时间相差8小时。

问题原因

在kubernetes集群中运行的容器默认会使用UTC时间,即与北京时间会有8小时时差。而有些分布式系统对于时间极为敏感,不允许出现时间误差。出现这种情况往往是因为使用dockerhub等仓库上的镜像导致,如果用户自己制作镜像会修改时间。

解决方案

通过环境变量的方式修改时间。

部署nginx容器用于测试

1.准备nginx deployment文件

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx

2.部署nginx

kubectl apply -f xxx.yaml

3.查看pod所在宿主机,并查看宿主机时间

kubectl get pod -owide |grep nginx

登陆pod所在宿主机查看时间

ssh hostip
date

4.查看pod时间

kubectl exec -it -n default <podname> -c nginx -- date

5.修改nginx deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        env:
          - name: TZ
            value: Asia/Shanghai

6.重新部署nginx,并查看pod时间

kubectl apply -f xxx.yaml
kubectl exec -it -n default <podname> -c nginx -- date
0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

所属团队号:
相关资源
边缘计算在视频直播场景的应用与实践
视频直播作为当前视频行业的核心场景之一,对于高清化、实时性、交互性要求较高,需要强大算力保障用户流畅观看与互动体验。本次分享主要从视频直播场景需求切入,介绍基于边缘计算的视频直播场景方案及其架构、应用与实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论