Курс по основам DevOps. От базового администрирования Linux и работы с сетями до настройки CI/CD и оркестрации контейнеров в Kubernetes.
Курс ориентирован на практическое применение инструментов и построен вокруг сквозного проекта: развертывания Java-приложения (Spring Boot) на сервере с автоматической доставкой и мониторингом.
- Работать с командной строкой Linux (навигация, права доступа, пакетные менеджеры).
- Понимать принципы сетевого взаимодействия (IP, порты, DNS).
- Писать Bash-скрипты для автоматизации рутинных задач.
- Настраивать веб-сервер Nginx в качестве обратного прокси.
- Оптимизировать Docker-образы с помощью многоэтапной сборки.
- Организовывать сети и управлять ресурсами в Docker Compose.
- Строить CI/CD-конвейеры в GitHub Actions (сборка, тестирование, публикация образов).
- Настраивать мониторинг (Prometheus и Grafana).
- Запускать приложения в локальном кластере Kubernetes (Minikube).
- Урок 1. Введение в DevOps и Linux-сервер
- Урок 2. Сети для разработчика
- Урок 3. Bash-скрипты
- Урок 4. Веб-сервер Nginx и обратный прокси
- Урок 5. Docker вглубь: многоэтапная сборка
- Урок 6. Docker Compose в продакшне
- Урок 7. Введение в CI/CD
- Урок 8. GitHub Actions: Тесты и сборка
- Урок 9. GitHub Actions: Публикация Docker-образа
- Урок 10. Мониторинг (Prometheus и Grafana)
- Урок 11. Введение в Kubernetes (K8s)
- Урок 12. Итоговый проект (Полный цикл CI/CD)
Для углубленного понимания технологий в репозитории предусмотрен отдельный раздел с теорией:
- Архитектура Linux
- Сетевые модели OSI и TCP/IP
- Автоматизация и интерпретаторы
- Архитектура Nginx
- Внутреннее устройство Docker
- Сети и оркестрация в Docker Compose
- Принципы CI/CD
- Реестры Docker-образов
- Принципы мониторинга и метрики
- Архитектура Kubernetes
- Архитектура итогового проекта
- Словарь команд и терминов — расшифровка всех аббревиатур и команд, встречающихся в курсе.
- Справочник утилит — список всех инструментов с кратким описанием их назначения.
- Компьютер с любой операционной системой (Linux, macOS, Windows).
- Терминал (встроенный или WSL для Windows).
- Сервер (облачный VPS, локальная виртуальная машина или физический сервер) с ОС Ubuntu.
- Docker и Docker Compose (понадобятся с 5-го урока).
- Аккаунт на GitHub (для работы с CI/CD в модуле 3).
- Аккаунт на Docker Hub (для публикации образов).
lesson-XX-название/— папки с практическим материалом для каждого урока.README.md— теория урока, пошаговые инструкции и чек-лист.COMMANDS.md— справочник команд и конфигураций с расшифровкой.TASKS.md— практические задания.
theory/— углубленные теоретические материалы (архитектура, принципы работы).
- Читаем теорию в
README.mdтекущего урока. - При необходимости обращаемся к файлам в папке
theory/для понимания внутренних процессов. - Выполняем настройку окружения (если требуется).
- Выполняем задания из
TASKS.md, используя команды изCOMMANDS.md. - Делаем коммит после каждого пройденного урока.