Книга: Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений
Назад: Глава 17. Посредник
Дальше: Глава 18. Конфигурация в переменных окружения

Часть IV. Конфигурационные паттерны

Любое приложение нужно конфигурировать, и самый простой способ сделать это — сохранить конфигурации в исходном коде. У этого подхода есть побочный эффект: конфигурация и код живут и умирают вместе, как описывает Киф Моррис (Kief Morris) в статье «Immutable Server» (http://bit.ly/2CoH5cj). Нам же нужна гибкость, позволяющая адаптировать конфигурацию без повторного создания образа приложения. Фактически повторное создание может потребовать много времени и считается антипаттерном в методике непрерывной доставки, когда приложение создается один раз, а затем перемещается без изменений через разные этапы конвейера развертывания, пока не достигнет места промышленной эксплуатации.

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

• Глава 18 «Конфигурация в переменных окружения» описывает порядок использования переменных окружения для хранения конфигурационных данных.

• Глава 19 «Конфигурация в ресурсах» описывает использование ресурсов Kubernetes, таких как ConfigMap и Secret, для хранения информации о конфигурации.

• Глава 20 «Неизменяемая конфигурация» описывает способ хранения в неизменном виде больших наборов данных, помещая их в контейнеры, подключаемые к контейнерам приложений во время выполнения.

• Глава 21 «Макет конфигурации» демонстрирует прием, который может пригодиться, когда для хранения настроек разных окружений, имеющих лишь небольшие отличия, используются очень большие конфигурационные файлы.

Назад: Глава 17. Посредник
Дальше: Глава 18. Конфигурация в переменных окружения