Вы научитесь
• Разворачивать локальный Kubernetes-кластер и локальный Docker/OCI-реестр.
• Настраивать простой Git-сервер (Gitea) или использовать локальный репозиторий и управлять ветками и PR.
• Настраивать CI-пайплайн (локально: GitHub Actions self-hosted runner / GitLab CI Runner / Jenkins) для сборки образов и пуша в локальную реестр.
• Оформлять манифесты (raw YAML / Kustomize / Helm) и организовывать GitOps-репозитории (app-of-apps pattern).
• Устанавливать и настраивать ArgoCD, синхронизировать приложение и отследить деплой.
• Настраивать синхронизацию, автопомощь и политики (sync policy, health checks, hooks).
• Реализовывать простую стратегию Progressive Delivery (Argo Rollouts / Canary) и rollback.
• Настраивать RBAC, SSO/SSO-эмуляцию (локально) и секреты (SealedSecrets / HashiCorp Vault эмуляция).
• Диагностировать и устранять типичные проблемы в GitOps-пайплайне.
Аудитория курса
• DevOps-инженеры и инженеры по платформам, которые хотят внедрить GitOps в локальной среде;
• разработчики, которые должны понимать, как их код попадает в кластер;
• тимлиды, обеспечивающие организацию безопасного локального CI/CD
Требования к предварительной подготовке слушателя
• базовые знания Git и Docker;
• базовые знания Kubernetes (pods, services, deployments, namespaces, ingress);
• умение работать в терминале Linux/macOS/Windows.
Содержание курса
Модуль 1. Теория GitOps (2 ак.ч.)
Цель: дать фундаментальное понимание GitOps.
Темы:
• GitOps как модель управления инфраструктурой.
• Принципы декларативности и контроля через Git.
• GitOps против классического CI/CD.
• Основные инструменты GitOps: ArgoCD, Flux (краткий обзор).
• Роли: разработчик, DevOps, платформа.
Модуль 2. Настройка окружения (локальная инфраструктура) (6 ак.ч.)
Цель: подготовить рабочую среду для CI/CD и GitOps.
Темы:
• Установка Kubernetes.
• Установка Docker.
• Развёртывание локального Docker Registry.
• Установка GitLab CE.
• Создание проектов в GitLab: приложение и GitOps repo.
• Установка и первичная настройка ArgoCD.
• Проверка связей GitLab → Registry → Kubernetes → ArgoCD.
Модуль 3. CI: разработка и базовый pipeline (4 ак.ч.)
Цель: научить работать с GitLab CI и структурировать приложение. Темы:
• Пример простого приложения (backend или frontend).
• Git-репозиторий: ветки, merge-requests.
• .gitlab-ci.yml: build-stage.
• Pipeline: commit → build → push изменений.
Модуль 4. CI: тестирование и публикация образов (5 ак.ч.)
Цель: реализовать полноценную сборку и тестирование.
Темы:
• Модульное и интеграционное тестирование.
• Тестирование в Docker.
• Сборка Docker-образа.
• Публикация образа в локальном registry.
• Использование commit SHA как тега.
• Правила: только успешные сборки пушатся.
Модуль 5. Helm и организация GitOps репозитория (5 ак.ч.)
Цель: настроить структуру манифестов, которую сможет потреблять ArgoCD. Темы:
• Создание базового Helm-чарта.
• Шаблоны Deployment, Service, Ingress.
• values.yaml: параметры окружений.
• GitOps-репозиторий: dev / prod.
• Разделение app-repo и infra-repo.
Модуль 6. Интеграция CI и GitOps: автогенерация манифестов (4 ак.ч.)
Цель: автоматизировать обновление Helm-чартов.
Темы:
• Работа с values.yaml.
• CI-job: обновление тега образа.
• Автоматический commit в GitOps repo.
• Защита веток, MR в GitOps repo.
Модуль 7. Автоматический деплой приложений через ArgoCD (6 ак.ч.)
Цель: настроить флоу Git → ArgoCD → Kubernetes.
Темы:
• Создание Application.
• Автоматическая синхронизация.
• Self-heal и prune.
• Diff между Git и кластером.
• Debug ошибок ArgoCD.
Модуль 8. Стратегии развертывания: Canary, Blue-Green (5 ак.ч.)
Цель: изучить безопасные стратегии доставки.
Темы:
• Установка Argo Rollouts.
• Canary-развертывания.
• Blue-Green.
• Метрики и rollback.
Модуль 9. Управление секретами в GitOps (3 ак.ч.)
Цель: научить безопасно работать с конфиденциальными данными.
Темы:
• SealedSecrets.
• SOPS + GitLab-регламент.
• External Secrets + Vault (dev режим).