Рейтинг:-6

Как сохранить секреты как часть configmap в kubernetes?

флаг ke

У меня есть карта конфигурации, которая создает файл конфигурации для моего приложения.

Структура приведена ниже.

апиВерсия: v1
вид: карта конфигурации
метаданные:
  имя: база данных-configmap
данные:
  конфиг: |
   порт базы данных = 5432
   DCName=
   дбссл=ложь
   время блокировки = 300
   пользователь домена =
   dattserverhost = локальный хост
   conntype=ON-PREM
   dbinstance=
   dattusessl=false
   dbpwd=VrjvBguQ
   iisport=80
   docountupgrade=false
   doreportupgrade=false
   dbname=база данных
   dattuseiis=ложь
   dbtype = POSTGRESQL
   dbusername=postg
   dbserver=tgres.database.azure.com
   доменный пароль=

Полный файл будет сброшен в файл свойств, чтобы приложение могло его использовать.

Можно ли каким-либо образом сохранить некоторые свойства (например, dbusername, dbpassword) в нем как секрет kubernetes, и когда будут созданы модули развертывания, эти секреты и configmap будут объединены в файл свойств?

Пожалуйста, предложите.

Рейтинг:0
флаг it

Краткий ответ: не надо.

Секреты и Карты конфигурации это разные объекты. Секреты зашифрованы кодировкой Base64 и должны использоваться для конфиденциальных данных, в то время как Карты конфигурации используются для неконфиденциальных данных.

Вы должны сделать отдельные объекты для конфиденциальных и неконфиденциальных данных, а затем использовать их в своих Развертывание. Вы можете изменить свой Развертывание использовать оба Секреты и Карты конфигурации, Например:

apiVersion: расширения/v1beta1
вид: развертывание
метаданные:
  имя: envtest
спецификация:
  реплики: 1
  шаблон:
    метаданные:
      этикетки:
        имя: envtest
    спецификация:
      контейнеры:
      - имя: envtest
        изображение: gcr.io/<PROJECT_ID>/envtest
        порты:
        - контейнерПорт: 3000
        среда:
        - название: ЯЗЫК
          значениеОт:
            configMapKeyRef:
              имя: язык
              ключ: ЯЗЫК
        - имя: API_KEY
          значениеОт:
            секретная ссылка:
              имя: апикей
              ключ: API_KEY

Существуют также различные способы использования обоих Секреты и Карты конфигурации. Для получения более подробной информации см. источники ниже:

uday avatar
флаг ke
конфигурация приложения сохраняется в файле свойств внутри контейнера. Можем ли мы обновить часть конфигурации внутри него с помощью configmap и оставшуюся часть с секретами. Нам просто нужно, чтобы часть базы данных с именем пользователя и паролем была установлена ​​​​таким образом.
Wytrzymały Wiktor avatar
флаг it
Да, это хороший подход.
uday avatar
флаг ke
не могли бы вы подсказать как это сделать, потому что я не смог объединить в один файл секреты и configmap
Wytrzymały Wiktor avatar
флаг it
Привет @uday. Было бы лучше, если бы вы разместили отдельный вопрос для этого. Покажите свои конфиги, что пробовали и чего хотите добиться. Таким образом, это более понятно для сообщества, и мы не смешиваем несколько тем/задач в одном вопросе.
uday avatar
флаг ke
Но это основная тема вопроса. хранить секреты как часть configmap
Wytrzymały Wiktor avatar
флаг it
Да и эта тема уже была затронута, так как не стоит пытаться делать это таким образом. Это -1 за ваш вопрос не от меня, но это показывает, что вы просите о чем-то, чего вам не следует делать. Второй вопрос: как настроить «развертывание» для использования как «секретов», так и «configmaps», и чтобы получить хороший ответ на этот вопрос, вы должны задать отдельный вопрос, показывающий ваши конфигурации и объясняющий вариант использования, вместо того, чтобы смешивать все это здесь. поскольку это не то, как должны работать SO и SF. Поверьте мне и прислушайтесь к моему честному совету :)
uday avatar
флаг ke
Вышеупомянутый образец configmap только часть пароля базы данных (dbpwd) мы будем держать в секрете, все находится только в configmap. Итак, как связать это в финальном файле configmap

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.