Как выполнить команды bash из configmap kubernetes? - PullRequest
0 голосов
/ 08 декабря 2018

Я использую рулевые диаграммы для создания и развертывания контейнеров в моем кластере K8.Один из моих модулей требует файл конфигурации с ключом SDK, чтобы он мог запускаться и функционировать должным образом.Этот ключ SDK считается секретным и хранится в секретном менеджере AWS.Следовательно, я не хочу запекать конфигурационный файл в моем образе докера.Я хочу иметь возможность монтировать этот файл конфигурации во время выполнения.Configmap, кажется, является хорошим вариантом в этом случае, за исключением того, что я не смог выяснить, как получить этот ключ SDK от диспетчера секретов во время установки helm chart.Часть моего configmap выглядит следующим образом

   data:
      app.conf: |
      [sdkkey] # I want to be able to retrieve sdk from aws secrets manager

Я искал способы написания команд bash, чтобы использовать aws cli для получения секретов, но я не видел способа выполнения команд bash из карты конфигурации.

Какие-нибудь идеи или альтернативные решения?

Приветствия K

1 Ответ

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

tl; dr; Вы не можете выполнить что-либо из ConfigMap , это просто статический манифест.Вместо этого используйте init контейнер .

ConfigMaps - это просто статический манифест, который можно прочитать из API Kubernetes или внедрить в контейнер во время выполнения как файл или переменные среды.Невозможно выполнить ConfigMap.

Учитывая ваше описание, звучит так, что лучшим вариантом будет использование init-контейнера для получения учетных данных и записи их в общий том тома emptyDir монтируется в контейнер с приложением, которое будет использовать учетные данные.

...