Веб-инфраструктура в 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. Передача проекта и безопасное завершение лаборатории | Собрать регламент восстановления, обзора планов и удаления только учебных ресурсов. |
Скачать исходники. Перейти к общей подборке.
Материалы опубликованы. Установка зависимостей, выполнение примеров, тесты и публикация учебных приложений не проводились. Команды и результаты в статьях описывают будущую самостоятельную работу читателя.