Переменные динамической среды Kubernetes Pod - PullRequest
0 голосов
/ 19 декабря 2018

Мне нужно иметь возможность назначать пользовательские переменные среды для каждой реплики модуля.Одна переменная должна быть случайным uuid, другая уникальным числом.Как это возможно достичь?Я бы предпочел продолжать использовать «Развертывание» с репликами.Если это невозможно в готовом виде, как этого можно добиться, настроив контроллер репликации / диспетчер контроллеров?Есть ли доступные для этого крючки?

Ответы [ 3 ]

0 голосов
/ 19 декабря 2018

Вы можете использовать нисходящий API для добавления metadata.uid модуля в качестве envvar, который уникален для каждого модуля

0 голосов
/ 09 июля 2019
kubectl run hello  --restart Never --image busybox  -- /bin/sh -c  "while true; do echo \$RANDOM; sleep 1;done"

или

kubectl запустить busybox --image busybox --env = random = $ RANDOM --restart Никогда - / bin / sh -c "echo \ $ random"

Это прекрасно работает

[root@master 41-jobs]# kubectl logs hello

3298

16447

9517

3082

32611

19179

21098

12943

0 голосов
/ 19 декабря 2018

Если это невозможно выполнить «из коробки», как этого можно добиться, настроив контроллер репликации / диспетчер контроллеров?Доступны ли для этого ловушки?

Ваша лучшая ставка - это комбинация initContainer: и / или пользовательской - возможно, переопределенной - точки входа command:.Стручки все будут точными копиями друг друга, за исключением их имен и нескольких других тривиальных изменений.Ответственность за любое конкретное поведение каждого модуля лежит на самих контейнерах.

containers:
- image: whatever
  command:
  - bash
  - -c
  - |
      export RANDOM_UUID=`uuidgen`
      export UNIQ=/usr/bin/generate-some-awesome-sauce
      exec /usr/local/bin/dockerfile-entrypoint.sh or whatever else
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...