Как выполнить команды bash из configmap kubernetes?
Я использую рулевые диаграммы для создания и развертывания контейнеров в моем кластере 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 ответ
ТЛ; др; Вы не можете выполнить что-либо из ConfigMap, это просто статический манифест. Вместо этого используйте контейнер init.
ConfigMaps - это просто статический манифест, который можно прочитать из API Kubernetes или внедрить в контейнер во время выполнения в виде файла или переменных среды. Нет способа выполнить ConfigMap.
Учитывая ваше описание, звучит так, что вам лучше всего использовать контейнер init для получения учетных данных и записи их на общий том emptyDir, смонтированный в контейнере, с приложением, которое будет использовать эти учетные данные.