Вставьте все секреты как переменные env в развертывание kubernetes - PullRequest
0 голосов
/ 04 октября 2018

У меня есть десятки секретов, которые нужно передать в развертывание k8, которое становится очень многословным, ниже приведен пример передачи секретов redis из секрета redis-secrets.

- name: REDIS_HOST
  valueFrom:
    secretKeyRef:
      name: redis-secrets
      key: REDIS_HOST
- name: REDIS_PASSWORD
  valueFrom:
    secretKeyRef:
      name: redis-secrets
      key: REDIS_PASSWORD
- name: REDIS_PORT
  valueFrom:
    secretKeyRef:
      name: redis-secrets
      key: REDIS_PORT

Можно ли передать все секреты из redis-secrets в развертывание, причем ключами секретов являются переменные ключи env?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Я не пробовал это на секретах, но стоит попробовать.Я использовал это в configmaps.

Тот же уровень, что и в env, который .spec.containers

envFrom: - secretRef: name: redis-secrets

0 голосов
/ 04 октября 2018

Я не уверен в вашем конкретном случае использования, но вы можете установить переменные окружения в своем развертывании следующим образом (два примера, один, где redis keyname является «значением ключа» переменной env, а другой - где у вас просто естьkey как ключ redis и значение как ожидаемое «keyvalue»):

   environment:
      - REDIS_PORT=12345
      - KEY1=REDIS_PASSWORD      
      - KEY2=REDIS_PORT

Ваше приложение может использовать их по мере необходимости.Он может загрузить Key1 / Key2, а затем найти REDIS_PORT и REDIS_PASSWORD из хранилища секретов ИЛИ вы можете загрузить REDIS_PORT напрямую и использовать номер порта из переменной env.

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