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

Содержание курса

Для доступа к урокам тебе необходимо приобрести подписку.

Первые два урока — Бесплатные.

Для оплаты перейди в телеграм бота и следуй инструкциям. После оплаты бот скинет тебе логин и пароль. По всем вопросам касаемо оплаты и доступа можешь обращаться ко мне напрямую.

Если бот не отвечает, пошли его ему сообщение /start

  Записаться — 5000р 2500р

Первый сезон

В этом сезоне мы:

  • Научимся готовить Ansible. Напишем профессиональные роли и плейбуки. Рассмотрим неочевидные трюки и фишки с которыми ты столкнешься в реальных проектах. 

  • Соберём docker контейнеры с приложениями и разместим их в приватных docker registry. Научимся правильно работать с приватными репозиториями, токенами и ключами.

  • Изучим основы Gitlab, напишем первые пайплайны и автоматизируем процесс деплоя в рамках CI/CD. Подключим раннеры, делегируем сборку на DIND и Kaniko. Разберемся с мульти-тэгами и артефактами. Сделаем универсальный шаблон docker compose для нескольких проектов. Вынесем пайплайны в отдельный репозиторий и научимся их гибко подключать.

Описание и список уроков [ нажми ]

Список уроков

s1e0 — Подготовка лаборатории

Вводное занятие, в котором мы подготовим окружение для экспериментов. Поднимаем необходимую инфраструктуру, настраиваем доступы, прописываем ssh ключи.

Открыть урок (Бесплатный)

s1e1 — Я въезжаю в стройку

Устанавливаем актуальную версию Ansible и создаем шаблон проекта по бест-практикам. Знакомимся со структурой проекта, готовим отдельный конфиг под каждый проект.

Открыть урок (Бесплатный)

s1e2 — Взлетаем

Описываем инфраструктуру в inventory файлах, разделяем сервера по группам, разводим логику по окружениям stage и production.

Открыть урок

s1e3 — Головоломка

Быстренько проходимся по ad-hoc командам, рассматриваем самые распространенные модули, включаем дебаг режим, взаимодействуем с разными окружениями.

Открыть урок

s1e4 — Взрослые игрушки

Знакомимся с концепцией ролей, познаём структуру, учимся писать свою первую роль и подключать inventory файлы в зависимости от окружения.  Избавляемся от путаницы и всё разносим по полочкам.

Открыть урок

s1e5 — Разделяй и властвуй

Отделяем роли от проекта, переносим их в отдельный git репозиторий, пишем плейбук инициализации, делаем всё по взросому и занимаемся очень важными вещами

Открыть урок

s1e6 — Переменная облачность №1

Знакомимся с переменными на примере подключения swap файла, разделяем переменные по группам серверов, страхуем роли от факапа и делаем их универсальными.

Открыть урок

s1e7 — Вершки и корешки

Избавляемся от рута, расширяем возможности пользователя на сервере, знакомимся с новым функционалом Ansible, приводим конфиги и процессы в порядок. 

Открыть урок

s1e8 — Фаршируем перцы

Автоматизируем установку софта в зависимости от окружения, подключаем репозитории, знакомимся с лупами и циклами, работаем со списками, игнорим ошибки.

Открыть урок

s1e9 — Сжимаем булки

Отдыхаем от Ansible и проникаемся всеми прелестями docker контейнеров, упаковываем своё первое приложение, учимся работать с тэгами, проваливаемся внутрь, побеждаем свои страхи.

Открыть урок

s1e10 — Великие дела

Разбираемся и создаём токены деплоя для работы с gitlab, готовим docker образ и пушим его в приватный registry, подчищаем мусор и пулим его обратно.

Открыть урок

s1e11 — Проходим пороги

Знакомимся с Kaniko и DIND, переосмысляем сборку docker образов, внедряем изоляцию, завязываем процессы в одну кучку, избавляемся от избыточных команд.

Открыть урок

s1e12 — Труба зовет

Заводим собственные раннеры для взаимодействия с gitlab, подключаем раннеры к проекту, знакомимся с базовыми типами.

Открыть урок

s1e13 — Двигатель прогресса

Пишем первый пайплайн, триггеримся на коммиты, собираем отдельные образы для stage и production, избавляемся от ручного труда.

Открыть урок

s1e14 — Переменная облачность №2

Деградируем, изучаем базу с группами и подгруппами в inventory файлах. Осознаём принцип работы и как делать не нужно.

Открыть урок

s1e15 — Регистратура

Добиваем Ansible переменные, регистрируем, читаем, склеиваем, дебажим.

Открыть урок

s1e16 — Рвем шаблоны

Пишем Ansible роль для балансировщика, рендерим конфиги, знакомимся с хендлерами, разбираемся с локейшенами и бэкапами конфигов.

Открыть урок

s1e17 — Выкатываем питона

Рефакторим пайплайн, выносим раннеры в переменную, проникаемся бест-практиками, заводим  shell раннеры, выкатываем питона в прод и проксируем через балансировщик.

Открыть урок

s1e18 — Рукоблудие

Самостоятельная работа по итогам изученного. Вносим правки, адаптируем пайплайны под хотелки технического директора, приседаем вокруг basic auth, садим питона на отдельный URL.

Открыть урок

s1e19 — Пестики и тычинки

Отдыхаем после душной контрольной, избавляемся от привязки к проекту, выносим пайплайны в отдельный git репозиторий, инклудим нужные пайплайны из любого проекта.

Открыть урок

s1e20 — Расхитительница гробниц

Собираем артефакты, прокидываем их между джобами и стадиями, интегрируемся с docker образами и контейнерами.

Открыть урок

Второй сезон

В этом сезоне мы:

  • Научимся делать API запросы в gitlab, получать необходимые данные и запускать по запросу пайплайны из любого места.

  • Поработаем с нативным Ansible шифрованием и переменными, посмотрим как лучше не делать. Установить и подготовим к работе Hashicorp Vault. Научимся дёргать ролями нужные нам секреты.

  • Рассмотрим приоритеты запуска Ansible ролей и тасок.

  • Скрестим gitlab и ansible, подготовим дружелюбный интерфейс для прогона необходимых ролей.

  • Добьем переменные и рассмотрим неочевидные ситуации.

  • Поработаем с docker compose и научимся генерировать docker-compose.yml налету в зависимости от проекта и переменных.

  • Перетащим раннеры в docker контейнеры и максимально оптимизируем процессы.

  • Рассмотрим работу через бастион сервера и как достучаться ролями до серверов, которые находятся за NAT.

  • Настроем единую точку входа в наши приложения через Traefik.

  • Настроем динамическую систему мониторинга с автодискавери, всё в лучших традициях интерпрайза.

  • Научимся работать с экспортерами prometheus и напишем свои.

  • Настроим две системы алертов, нативные графановские и маст-хевные через alertmanager.

Описание и список уроков [ нажми ]

Список уроков

s2e1 — Мишки апишки

Знакомимся c API gitlab, делаем запросы, собираем пазлы, добираемся до артефактов и RAW логов, отдаем техническому директору через телеграм заветный архив с артефактами.

Открыть урок

s2e2 — Ящик Пандоры

Скрываем критичные данные в переменных, учимся ковыряться, проникаемся шифрованием данных в плейбуках и ролях нативными средствами ansible.

Открыть урок

s2e3 — Коробка с конфетами

Знакомимся с правильным Vault, втыкаем Hashicorp Vault на сервер, конфигурируем, пишем полиси и тыкаем палкой. Избавляемся от нативного Ansible Vault и делаем всё по уму.

Открыть урок

s2e4 — Химера

Дружим одно со вторым, дергаем секреты из hashicorp vault с помощью Ansible ролей, создаем сервисные токены, курлим апишку.

Открыть урок

s2e5 — Клеймим стадо

Продолжаем ковырять Ansible, разбираемся с тегами, делаем плейбуки более гибкими, упрощаем дебаг, запускаем роли и таски в нужной последовательности, выставляем приоритеты.

Открыть урок

s2e6 — Гибкость хардкода

Готовим очередного монстра, запускаем ansible плейбуки из пайплайнов gitlab, кастомизируем параметры запуска, подготавливаем интерфейсы для удобной и комфортной работы.

Открыть урок

s2e7 — Переменная облачность №3

Универсалим и тюним Ansible плейбуки, реализуем динамическую подстановку переменных, избавляемся от лишнего, закрываем открытые вопросы по переменным.

Открыть урок

s2e8 — Система нипель

Заводим проект через динамический шаблон гитлаба, потихоньку перелезаем на docker compose, готовим проект к масштабированию и балансировке нагрузки.

Открыть урок

s2e9 — Бегуны в коробке

Приводим в порядок раннеры и запускаем их в docker контейнерах, избавляемся от рутовых зависимостей и повышаем уровень наших скиллов.

Открыть урок

s2e10 — Сквозняк

Настраиваем сервера через единую точку входа, бастион, джамп-хосты, делегирование.

Открыть урок

s2e11 — Балансировка

Большой урок-гайд по Traefik, учимся готовить, самые основные моменты которые требуются в работе, практика, фичи, приколы и нюансы.

Открыть урок

s2e12 — Remains №1

Короткие и важные штуки про ансибл, то что упустили, что стоит держать в голове, нюансы и трюки.

Открыть урок

s2e13 — Большой брат №1

Поднимаем гибкую систему мониторинга. Настраиваем мастер-consul, прикручиваем agent, втыкаем экспортер, скрещиваем, добиваемся слаженной работы + пишем роли.

Открыть урок

s2e14 — Большой брат №2

Заводим сервис дискавери, поднимаем прометеус и дружим его с консулом, работаем с тегами, делаем запросы.

Открыть урок

s2e15 — Большой брат №3

Вкорячиваем Victoria Metrics, прикручиваем эту штуку к prometheus, добиваемся рабочей связки, решаем сетевые проблемы + мелкие фичи и полезности.

Открыть урок

s2e16 — Большой брат №4

Учимся выживать без консула. Собираем метрики через коробочный функционал. Городим альтернативный авто-дискавери и раскрываем скрытый потенциал самого прометеуса. Упрощаем себе жизнь. Пишем роли, фиксим баги. 

Открыть урок

s2e17 — Тотальный экспорт

Прокачиваем возможности экспортера, изобретаем собственный на коленке, учимся вытаскивать полезную нагрузку для curl запросов, пишем скрипты.

Открыть урок

s2e18 — Метрикой по морде

Конфигуряем графану, выводим графики, разбираемся с приборной панелью космического корабля, делаем выпадающие списки, выводим золотые сигналы.

Открыть урок

s2e19 — Пускаем соплю №1

Импортируем дашборды, подсматриваем и ковыряемся с коробочными алертами. Интегрируем алерты в телеграм канал, плачем от избыточных настроек.

Открыть урок

s2e20 — Пускаем соплю №2

Избавляемся от графановских соплей и прикручиваем мастхевный alertmanager, шлем новые алерты в телегу, упарываемся с конфигами и радуемся от полученного результата.

Открыть урок

Третий сезон

В этом сезоне мы:

  • Научимся правильно готовить Terraform
  • Поработаем с Terragrunt и облаками
  • Затронем тему Terraform + Proxmox
  • Проникнемся бест-практиками
Описание и список уроков [ нажми ]
s3e01 — На встречу с облаками

Готовим себе рабочее пространство, устанавливаем terraform, производим базовую конфигурацию, генерируем токены, настраиваем взаимодействие с облаками.

Открыть урок

s3e02 — Шлифовка и стейты

Разбираемся с сервисными пользователями, знакомимся со стейтами и переносим их в S3.

Открыть урок

s3e03 — Генеральная уборка

Работаем с конфигурацией и чувствительными данными. Щупаем переменные. Наводим порядок в проекте, подключаем визуальную составляющую.

Открыть урок

s3e04 — Первенец [ в работе ]

Создаём первый сервер, заводим flavor, разбираемся со скейлингом.

Открыть урок