Часовой пояс в модулях Kubernetes с использованием переменной среды

Я пытаюсь обновить время своего модуля в зоне Азии / Калькутты в соответствии с часовым поясом кубернетов в POD с помощью команды и аргумента . Однако время по-прежнему остается тем же временем UTC. Только часовой пояс обновляется с UTC на Азию.

Я смог исправить это, используя крепления для томов, как показано ниже. Создайте карту конфигурации и примените развертывание yaml.

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

Почему не работает метод переменных окружения? Произойдет ли вытеснение модуля с одного хоста на другой, если мы будем использовать время монтирования тома, и повлияет ли это на время монтирования тома после вытеснения модуля?

YAML развертывания EV ниже, который не обновляет время

      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

Ямл для крепления тома находится ниже.

      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 ответа

В этом сценарии вам необходимо указать атрибут типа как File для hostPath в конфигурации развертывания. Приведенная ниже конфигурация должна работать для вас.

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

У меня работает простая установка переменной TZ env в развертывании.

Другие вопросы по тегам