Перейти к содержанию

Веб-инфраструктура в Terraform: локальный проект «Контур»

В серии собираем проект «Контур». Каждый урок добавляет один механизм к результату предыдущего. Архив содержит двенадцать полных состояний кода; выбирайте конкретную папку lesson-NN, не смешивая версии.

Все инфраструктурные объекты предназначены для отдельной локальной Docker-лаборатории. Облачные аккаунты, платные ресурсы и удалённый продакшен в примере не используются. Нужны основы HTTP и работа с командной строкой. Состояние Terraform и реальные резервные копии не входят в архив.

Урок Результат
1. Декларативное описание локальной инфраструктуры Разделить конфигурацию, состояние и реальные ресурсы; закрепить инструмент и провайдер.
2. Образ и контейнер веб-сервера Описать Nginx и доступ только через loopback хоста.
3. План изменений и жизненный цикл ресурса Различить создание, изменение и замену; подготовить сохранённый план.
4. Переменные, проверки и HTML-шаблон Настроить порт, префикс и страницу без дублирования инфраструктуры.
5. Сеть, ссылки между ресурсами и выходные значения Выразить зависимости контейнера от сети и образа; вернуть адрес страницы.
6. Несколько сайтов с for_each Создать сайты home и docs с устойчивыми ключами и различными портами.
7. Локальный модуль сайта и перенос адресов Вынести контейнеры в модуль и сохранить связи с помощью moved.
8. Локальное состояние и раздельные окружения Объяснить backend, перенос состояния и изоляцию независимых рабочих каталогов.
9. Принятие существующего контейнера под управление Подготовить отдельный модуль adoption и сопоставить существующий объект с конфигурацией.
10. Внешние изменения и обновление состояния Отличить принятие внешних изменений от восстановления декларативного намерения.
11. Лимиты контейнеров и стратегия обновления Добавить ограничения памяти, политику перезапуска и договорённость об обновлении образа.
12. Передача проекта и безопасное завершение лаборатории Собрать регламент восстановления, обзора планов и удаления только учебных ресурсов.

Скачать исходники. Перейти к общей подборке.

Материалы опубликованы. Установка зависимостей, выполнение примеров, тесты и публикация учебных приложений не проводились. Команды и результаты в статьях описывают будущую самостоятельную работу читателя.