Урок 10: ConfigMap — конфигурация вне образа
До сих пор мы упаковывали приложение в образ — фиксированный пакет, содержащий код и всё, что ему нужно. Но что происходит, когда одно и то же приложение должно вести себя немного по-разному в каждом окружении? В разработке нам могут понадобиться подробные логи, а в продакшене — более тихие. Если мы
ConfigMap похож на меню настроек на устройстве: вы меняете настройку (язык, яркость), не разбирая всё устройство и не собирая его заново.
- ConfigMap
- Объект Kubernetes, который хранит несекретные настройки в виде пар ключ/значение и внедряет их в контейнер как переменные окружения или файлы — так что один и тот же образ может работать с разной конфигурацией в каждом окружении.
- Переменные окружения
- Значения конфигурации, хранящиеся в среде выполнения процесса (например, LOG_LEVEL=info), которые приложение читает во время работы, вместо того чтобы они были записаны внутри кода.
- Образ
- Фиксированный, неизменяемый пакет, содержащий приложение и все его зависимости. Контейнеры запускаются из образа; чтобы изменить его, нужно собрать новую версию.