Terraform — инструмент с открытым исходным кодом для автоматизации настройки серверной инфраструктуры. Он совместим с популярными облачными провайдерами и позволяет одной кнопкой развернуть любые доступные там сервисы: от баз данных до балансировщиков.
Курс рассчитан на новичков в Terraform, которые хотят избавиться от боли ручного управления инфраструктурой и узнать, для чего нужна эта технология и как ей пользоваться. Вы поймете, по каким принципам работать с Terraform и как поддерживать код.
У курса нет аналогов на русском языке. Мы покажем конкретные практические приёмы работы, сферы применения, кейсы и живые задачи. Все практические задания будут выполняться в Yandex Cloud.
Мы ждем инженеров и разработчиков (от начинающих до сеньоров), которые взаимодействуют с инфраструктурой, знакомы с Linux и сетями на базовом уровне.
Курс рассчитан на новичков в Terraform, которые хотят избавиться от боли ручного управления инфраструктурой и узнать, для чего нужна эта технология и как ей пользоваться. Вы поймете, по каким принципам работать с Terraform и как поддерживать код.
У курса нет аналогов на русском языке. Мы покажем конкретные практические приёмы работы, сферы применения, кейсы и живые задачи. Все практические задания будут выполняться в Yandex Cloud.
Мы ждем инженеров и разработчиков (от начинающих до сеньоров), которые взаимодействуют с инфраструктурой, знакомы с Linux и сетями на базовом уровне.
Переходите на Мегу! Записи 2х-дневного интенсива для продвигутых пользователей Terraform
Освоили базу?
Автор курса
Павел Селиванов
Архитектор Yandex Cloud
— На счету десятки выстроенных инфраструктур и сотни написанных пайплайнов CI/CD, — Certified Kubernetes Administrator, — Автор нескольких курсов по Kubernetes и DevOps, — Регулярный докладчик на Российских и международных IT-конференциях.
Программа
Введение в Terraform — IaC, знакомство с инструментом — Сравнение с другими инструментами (Ansible, управление конфигурациями vs оркестрация)
Знакомство с окружением — Обзор Yandex Cloud — Знакомство с конфигурацией VM, MDB, ALB, сети
Настройка окружения — Установка утилиты Terraform — Зеркала Terraform, файл terrafromrc для глобальной конфигурации, настройка зеркал — Авторизация в облаке из Terraform Провайдеры Terraform — Как Terraform взаимодействует с облаком (API), провайдеры — Структура конфигурации, версии провайдеров, Terraform init — Полезные провайдеры Terraform, документация и работа с ней
Описание объектов инфраструктуры — Понятие ресурса, документация к ресурсам, аргументы и атрибуты ресурсов, зависимости между ресурсами — Структура файлов описания инфраструктуры в Terraform
Применение конфигурации — Команды Terraform plan и Terraform apply — Проверка плана изменений — Пересоздание и изменение налету Terraform state — Как Terraform сохраняет изменения, файл tfstate и tfstate.back, значение и важность стейта — Как импортировать уже созданную инфу в Terraform-файлы, что делать если стейт пропал
Ввод пользовательских данных — Variables, синтаксис описания, возможные поля, отдельный файл для переменных, ввод переменных из консоли или из файла, разные переменные для разных сред
Locals — Разница между locals и variables — Когда стоит использовать locals с примерами Сложные типы данных в переменных — Списки, словари в переменных, случаи использования Outputs — Вывод данных через outputs, модули и их связь через outputs
Ветвление в Terraform — Ветвление в Terraform, тренарный оператор
Циклы в Terraform — Необходимость циклов, count, index, примеры
for_each — Отличие count и for_each, примеры использования
Dynamic и функции
Datasource — Датасурсы, документация — Работа с датасурсами, примеры применения Провиженеры — Необходимость использования провиженеров, типы провиженеров в Terraform — Local и remote exec, структура конфигурации — Шаблонизация файлов, язык, примеры — Ansible: как заставить запровижениться после создания инфры
Хранение стейта — Удаленное хранение стейта в S3, локи и совместная работа
Модули — Суть модулей, использование чужих модулей Шаблонизация Terraform — Проблема больших конфигураций, переиспользование, Terragrunt Подходы к работе с инфраструктурой — Cattle, Backed инфра, Packer