Динамические изменения переменной среды, заданной в ConfigMap - PullRequest
2 голосов
/ 17 апреля 2019

Я определил переменную среды для контейнера из Configmap, но я хочу автоматически применять изменения при изменении значения переменной в ConfigMap.Может быть, мы можем указать переменную окружения в пути к тому!?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

В следующих строках я попытаюсь представить идею (это можно рассматривать как решение, по крайней мере, на данный момент), она состоит из монтирования значений configmap в качестве тома,

spec:
  containers:
  - name
    ...
    volumeMounts:
      - name: config-volume
        mountPath: /etc/config   #just an example
  volumes:
    - name: config-volume
      configMap:
        name : <name-of-configmap>
        items:
          - key: <key-in-onfigmap>
            path: keys

В результате мы получим значение нашего ключа configMap внутри файла тома (/ etc / config / keys), который мы можем гарантировать, выполнив эти команды

kubectl exec -it <name-of-pod> sh      #to get a shell to the running container/pod
cat /etc/config/keys                   #

Примечание: время задержки с момента обновления ConfigMap до момента, когда ключи проецируются на модуль (может быть таким, как период синхронизации kubelet ConfigMap + ttl кэша ConfigMap в kubelet)

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

0 голосов
/ 17 апреля 2019

Распространение изменений карты конфигурации обсуждалось долгое время и до сих пор не реализовано: https://github.com/kubernetes/kubernetes/issues/22368

Я предлагаю использовать процесс обновления helm (или аналогичный), чтобы просто развернуть ту же версию приложения с новыми настройками. Таким образом, у вас есть дополнительные элементы управления: вы можете сделать непрерывное обновление, вы можете выполнить откат, вы можете сделать канарейку и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...