提问者:小点点

使用环境变量在库伯内特斯豆荚中的时区


我试图更新我的豆荚时间到亚洲/加尔各答区根据kubernetes时区POD命令和参数。然而,时间仍然保持UTC时间相同。只有时区从UTC更新到亚洲。

我能够使用卷挂载修复它,如下所示。创建配置映射并应用部署yaml。

kubectl create configmap tz --from-file=/usr/share/zoneinfo/Asia/Kolkata -n <required namespace>

为什么环境变量方法不起作用?如果我们使用卷挂载时间,从一个主机到另一个主机会发生pod逐出吗?如果会影响pod逐出后的卷挂载时间吗?

EV部署YAML在下面,不会更新时间

apiVersion: apps/v1
kind: Deployment
metadata:
  name: connector
  labels:
    app: connector
  namespace: clients
spec:
  replicas: 1
  selector:
    matchLabels:
      app: connector
  template:
    metadata:
      labels:
        app: connector
    spec:
      containers:
      - image: connector
        name: connector
        resources:
          requests:
            memory: "32Mi"  # "64M"
            cpu: "250m"
          limits:
            memory: "64Mi"  # "128M"
            cpu: "500m"
        ports:
          - containerPort: 3307
            protocol: TCP
        env:
          - name: TZ
            value: Asia/Kolkata
        volumeMounts:
          - name: connector-rd
            mountPath: /home/mongobi/mongosqld.conf
            subPath: mongosqld.conf
      volumes:
      - name: connector-rd
        configMap:
          name: connector-rd
          items:
          - key: mongod.conf

卷安装yaml如下。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: connector
  labels:
    app: connector
  namespace: clients
spec:
  replicas: 1
  selector:
    matchLabels:
      app: connector
  template:
    metadata:
      labels:
        app: connector
    spec:
      containers:
      - image: connector
        name: connector
        resources:
          requests:
            memory: "32Mi"  # "64M"
            cpu: "250m"
          limits:
            memory: "64Mi"  # "128M"
            cpu: "500m"
        ports:
          - containerPort: 3307
            protocol: TCP
        volumeMounts:
          - name: tz-config
            mountPath: /etc/localtime
          - name: connector-rd
            mountPath: /home/mongobi/mongosqld.conf
            subPath: mongosqld.conf
      volumes:
      - name: connector-rd
        configMap:
          name: connector-rd
          items:
          - key: mongod.conf
            path: mongosqld.conf
      - name: tz-config
        hostPath:
           path: /usr/share/zoneinfo/Asia/Kolkata

共2个答案

匿名用户

在这种情况下,您需要在部署配置中将type属性作为File for hostPath提及。以下配置应该适合您。

 - name: tz-config
        hostPath:
           path: /usr/share/zoneinfo/Asia/Kolkata
           type: File

匿名用户

简单地设置TZ环境变量在部署工作为我