Перейти к содержимому

Ansible Masterclass: развертывание без простоя (Проект 1)

Rahul Wagh

0:00 / 0:00

Ansible Masterclass: развертывание без простоя (Проект 1)

1 912 просмотров · 1 день назад
Rahul Wagh
105 тыс. подписчиков
1 912 просмотров · 1 день назад
Большинство руководств по Ansible останавливаются на «установке nginx». Это руководство — исключение. В этом видео мы создаём то, что действительно выпускает команда разработчиков: балансировщик нагрузки nginx, два сервера приложений Flask под управлением systemd, базу данных PostgreSQL с паролем в Ansible Vault, развертывание с нулевым временем простоя и дымовой тест, доказывающий работоспособность всего этого. Всё это работает на вашем собственном ноутбуке с помощью Docker, бесплатно, а те же самые плейбуки позже запускаются на AWS, Google Cloud и Azure. Это первая из четырех частей серии «Реальные проекты Ansible»: ▶ Часть 1: Docker на вашем ноутбуке (это видео) ▶ Часть 2: AWS с Terraform (скоро будет доступно) ▶ Часть 3: Google Cloud с Terraform (скоро будет доступно) ▶ Часть 4: Azure с Terraform (скоро будет доступно) 🔗 ССЫЛКИ 📝 Репозиторий кода и полное описание каждой команды и реального результата: https://jhooq.com/ansible-real-world-... 🐳 Запустите лабораторию Ansible на своем ноутбуке с помощью Docker: https://jhooq.com/ansible-lab-on-lapt... 🎓 Этот проект — одна из глав моего курса на Udemy «Ansible Masterclass: The Complete Automation Bootcamp» (66 лекций, более 7 часов, все плейбуки на GitHub). Купон на запуск: https://www.udemy.com/course/ansible-... ⏱ ВРЕМЕННЫЕ МЕТКИ 00:00:00 Введение: что мы создаём и серия из 4 частей 00:01:43 Обзор архитектуры: пользователи → балансировщик нагрузки nginx → приложение-1 / приложение-2 → PostgreSQL 00:04:10 Репозиторий GitHub и статья в блоге: клонирование проекта, где всё находится 00:10:58 Makefile: 7 коротких команд, запускающих весь проект (make lab-up, deps, ping, site, deploy, smoke, lab-down) 00:14:48 requirements.yml и коллекции Ansible Galaxy (community.postgresql, community.general) 00:17:10 Инвентаризация и хосты: docker.ini, группы и одна переменная (private_ip), которая делает плейбуки переносимыми 00:18:24 Общая роль: базовые пакеты, имена хостов, /etc/hosts 00:20:49 Роль postgres: установить PostgreSQL, открыть его для серверов приложений, создать базу данных и пользователя с паролем из Ansible Vault 00:23:00 Роль приложения: virtualenv, скопировать код, .env из шаблона, юнит systemd, проверка работоспособности 00:25:33 Роль балансировщика нагрузки nginx: upstream поверх обоих серверов приложений, повторные попытки, опционально Let's Encrypt 00:28:26 Инкрементальный релиз: deploy.yml с serial: 1, развертывание с контролем работоспособности, нулевое время простоя, 0 неудачных запросов 00:33:15 Развернуть все: создать сайт с нуля, failed=0 Обновите страницу на всех четырех серверах и наблюдайте за чередованием приложений app-1 и app-2. 🧩 ЧТО ВЫ УЗНАЕТЕ • Как структурировать реальный проект Ansible: инвентаризация, group_vars, роли, плейбуки, Makefile • 4 роли: common, postgres, app, nginx_lb и как они взаимодействуют в site.yml • Развертывание без простоев с помощью serial: 1 и проверки работоспособности перед следующим сервером • Секреты с Ansible Vault и файл паролей Vault, чтобы ничего конфиденциального не хранилось в Git • Обработчики, flush_handlers, шаблоны (Jinja2), модули uri и wait_for, delegate_to • Локальная лаборатория с 4 контейнерами systemd в Docker, которые ведут себя как облачные виртуальные машины • Как одни и те же плейбуки переносятся в AWS, GCP или Azure путем изменения только инвентаризации 🛠 СТЕК Ansible 2.15+ · Docker · Ubuntu 22.04 · nginx · Python 3 / Flask / gunicorn · PostgreSQL 14 · systemd · Terraform (облачные компоненты) · GitHub Actions (CI-развертывание + дымовое тестирование) 🎓 ИЗУЧИТЕ ANSIBLE С НУЛЯ Если вы новичок в Ansible, в этом проекте используется все из моего курса на Udemy: плейбуки, инвентаризация, переменные, циклы, обработчики, теги, шаблоны Jinja2, Galaxy и Vault, в 11 разделах с практическими заданиями. Купон на запуск в закрепленном комментарии. https://www.udemy.com/course/ansible-... 📺 БОЛЬШЕ ОТ МЕНЯ Блог: https://jhooq.com GitHub: https://github.com/rahulwagh Все мои курсы: https://www.udemy.com/user/rahul-wagh... #ansible #devops #docker #terraform #nginx #postgresql #automation #infrastructureascode