Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Оглавление

Введение...................................................................................................................................................12

Целевая аудитория книги............................................................................................................13
Почему я написал эту книгу.......................................................................................................14
Структура издания.........................................................................................................................15
Что нового во втором издании...................................................................................................17
Чего нет в этой книге.....................................................................................................................19
Примеры с открытым исходным кодом..................................................................................20
Использование примеров кода..................................................................................................20
Условные обозначения.................................................................................................................21
Благодарности.................................................................................................................................22
От издательства...............................................................................................................................23
Глава 1. Почему Terraform .............................................................................................................. 24
Появление DevOps........................................................................................................................24
Что такое инфраструктура как код..........................................................................................27
Специализированные скрипты...........................................................................................27
Средства управления конфигурацией..............................................................................28
Средства шаблонизации серверов.....................................................................................31
Средства оркестрации............................................................................................................35
Средства инициализации ресурсов...................................................................................37
Преимущества инфраструктуры как кода.............................................................................38
Как работает Terraform.................................................................................................................40
Сравнение Terraform с другими средствами IaC.................................................................42
Управление конфигурацией
или инициализация ресурсов?............................................................................................43
Выбор между изменяемой
и неизменяемой инфраструктурой....................................................................................44
Выбор между процедурными
и декларативными языками.................................................................................................45
Наличие или отсутствие центрального сервера............................................................48
Наличие или отсутствие агентов........................................................................................50
Размер сообщества..................................................................................................................52
Выбор между зрелостью и новизной................................................................................54
Совместное использование нескольких инструментов..............................................55
Резюме................................................................................................................................................58
Глава 2. Приступаем к работе с Terraform ................................................................................. 59
Подготовка вашей учетной записи в AWS............................................................................60
Установка Terraform......................................................................................................................63
Развертывание одного сервера..................................................................................................64
Развертывание одного веб-сервера..........................................................................................72
Развертывание конфигурируемого веб-сервера..................................................................80
Развертывание кластера веб-серверов....................................................................................85
Развертывание балансировщика нагрузки............................................................................90
Удаление ненужных ресурсов....................................................................................................98
Резюме................................................................................................................................................99
Глава 3. Как управлять состоянием Terraform ....................................................................... 100
Что представляет собой состояние Terraform....................................................................101
Общее хранилище для файлов состояния...........................................................................103
Ограничения хранилищ Terraform.........................................................................................110
Изоляция файлов состояния....................................................................................................112
Изоляция через рабочие области.....................................................................................114
Изоляция с помощью описания структуры файлов..................................................119
Источник данных terraform_remote_state...........................................................................123
Резюме..............................................................................................................................................133
Глава 4. Повторное использование инфраструктуры
с помощью модулей Terraform ..................................................................................................... 135
Что такое модуль..........................................................................................................................138
Входные параметры модуля.....................................................................................................140
Локальные переменные модулей............................................................................................144
Выходные переменные модуля................................................................................................147
Подводные камни.........................................................................................................................149
Файловые пути.......................................................................................................................149
Вложенные блоки..................................................................................................................150
Управление версиями.................................................................................................................153
Резюме..............................................................................................................................................158
Глава 5. Работа с Terraform: циклы, условные выражения, развертывание и подводные камни .... 159
Циклы...............................................................................................................................................160
Циклы с параметром count.................................................................................................160
Циклы с выражениями for_each.......................................................................................167
Циклы на основе выражений for......................................................................................173
Циклы с использованием строковой директивы for..................................................177
Условные выражения.................................................................................................................178
Условные выражения с использованием параметра count.....................................178
Условная логика с использованием
выражений for_each и for....................................................................................................189
Условные выражения с использованием
строковой директивы if........................................................................................................190
Развертывание с нулевым временем простоя....................................................................191
Подводные камни Terraform.....................................................................................................203
Параметры count и for_each имеют ограничения.......................................................203
Ограничения развертываний
с нулевым временем простоя.............................................................................................206
Корректный план может быть неудачно реализован................................................207
Рефакторинг может иметь свои подвохи.......................................................................209
Отложенная согласованность согласуется… с отлагательством............................211
Резюме..............................................................................................................................................212
Глава 6. Код Terraform промышленного уровня ................................................................... 213
Почему построение инфраструктуры промышленного уровня
требует так много времени........................................................................................................215
Требования к инфраструктуре промышленного уровня................................................218
Инфраструктурные модули промышленного уровня.....................................................220
Небольшие модули................................................................................................................220
Компонуемые модули..........................................................................................................226
Тестируемые модули............................................................................................................235
Модули, готовые к повторному использованию.........................................................238
За пределами возможностей Terraform-модулей.......................................................242
Резюме..............................................................................................................................................251
Глава 7. Как тестировать код Terraform ................................................................................... 252
Ручные тесты.................................................................................................................................253
Основы ручного тестирования..........................................................................................255
Очистка ресурсов после тестов.........................................................................................259
Автоматические тесты................................................................................................................260
Модульные тесты...................................................................................................................261
Интеграционные тесты........................................................................................................291
Сквозные тесты......................................................................................................................306
Другие подходы к тестированию......................................................................................313
Резюме..............................................................................................................................................315
Глава 8. Как использовать Terraform в команде .................................................................... 317
Внедрение концепции IaC внутри команды.......................................................................318
Убедите свое начальство.....................................................................................................318
Сделайте переход постепенным........................................................................................321
Дайте своей команде время на обучение.......................................................................323
Процесс развертывания кода приложений.........................................................................324
Использование системы контроля версий....................................................................325
Локальное выполнение кода..............................................................................................326
Внесение изменений в код..................................................................................................326
Подача изменений на рассмотрение................................................................................327
Выполнение автоматических тестов...............................................................................328
Слияние и выпуск новой версии......................................................................................329
Развертывание........................................................................................................................331
Процесс развертывания инфраструктурного кода...........................................................335
Использование системы управления версиями..........................................................336
Локальное выполнение кода..............................................................................................341
Внесение изменений в код..................................................................................................342
Подача изменений на рассмотрение................................................................................343
Выполнение автоматических тестов...............................................................................346
Слияние и выпуск новой версии......................................................................................346
Развертывание........................................................................................................................347
Собираем все вместе....................................................................................................................357
Резюме..............................................................................................................................................359
Приложение. Дополнительные ресурсы....................................................................................361
Книги................................................................................................................................................361
Блоги.................................................................................................................................................362
Лекции..............................................................................................................................................362
Информационные рассылки....................................................................................................363
Онлайн-форумы...........................................................................................................................363
Об авторе................................................................................................................................................364
Об обложке............................................................................................................................................365

Мы используем файлы cookie, чтобы сайт был лучше для вас.