ConfigMap позволяет отделить артефакты конфигурации от содержимого образа, чтобы обеспечить переносимость контейнеризованных приложений. В следующих разделах описываются ConfigMap и способы их создания и использования.
Многие приложения требуют настройки с помощью комбинации конфигурационных файлов, аргументов командной строки и переменных окружения. В OpenShift Container Platform эти артефакты конфигурации отделены от содержимого образа, чтобы обеспечить переносимость контейнеризованных приложений.
Объект ConfigMap
предоставляет механизмы для внедрения данных конфигурации в контейнеры, при этом контейнеры остаются независимыми от OpenShift Container Platform. ConfigMap может использоваться для хранения как мелкозернистой информации, например отдельных свойств, так и крупнозернистой, например целых конфигурационных файлов или JSON-блоков.
Объект ConfigMap
содержит пары ключ-значение с данными конфигурации, которые могут использоваться в подах или применяться для хранения конфигурационных данных системных компонентов, таких как контроллеры. Например:
Примечание: Вы можете использовать поле binaryData
при создании ConfigMap из бинарного файла, например изображения.
Данные конфигурации могут использоваться в подах различными способами. ConfigMap может применяться для:
Пользователи и системные компоненты могут хранить данные конфигурации в ConfigMap. ConfigMap похож на secret, но предназначен для удобной работы со строками, не содержащими конфиденциальной информации.
ConfigMap
находятся в проекте.--manifest-url
, --config
узла OpenShift Container Platform или его REST API, так как это не стандартные способы создания подов.Под может использовать ConfigMap только в пределах одного namespace.
Теперь вы можете использовать app-config в Pod
.
Перейдите в Container Platform.
В левой боковой панели нажмите Configuration > ConfigMap.
Нажмите Create ConfigMap.
Следуйте инструкциям ниже для настройки соответствующих параметров.
Параметр | Описание |
---|---|
Entries | Относится к парам ключ:значение , поддерживает методы Add и Import.
|
Binary Entries | Относится к бинарным файлам размером не более 1М. Имя файла будет использоваться как ключ, а содержимое файла — как значение для элемента конфигурации. Примечание: После создания ConfigMap импортированные файлы нельзя изменять. |
Пример формата массового добавления:
Нажмите Create.
Или из файла:
Вы можете нажать (⋮) справа на странице списка или нажать Actions в правом верхнем углу страницы с деталями, чтобы при необходимости обновить или удалить ConfigMap.
Изменения в ConfigMap повлияют на рабочие нагрузки, которые ссылаются на эту конфигурацию, поэтому рекомендуется заранее ознакомиться с инструкциями по эксплуатации.
Операции | Описание |
---|---|
Обновить |
|
Удалить | После удаления ConfigMap рабочие нагрузки, которые ссылались на этот ConfigMap (или его элементы конфигурации) через переменные окружения, могут столкнуться с проблемами при создании подов, если они будут пересозданы и не смогут найти источник ссылки. |
Каждый ключ становится переменной окружения в контейнере.
Каждый ключ — это файл в каталоге /etc/config
, а содержимое файла — значение.
Особенность | ConfigMap | Secret |
---|---|---|
Тип данных | Не содержит чувствительной информации | Чувствительные данные (например, пароли) |
Кодирование | Обычный текст | Кодируется в Base64 |
Сценарии использования | Конфигурации, флаги | Пароли, токены |