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