Вебинар ■ 13 ноябряРасширять или оптимизировать? Как управлять ресурсами кластера Зарегистрироваться

Онлайн⁠-⁠формат10 днейБлижайшая группа: 1 февраля — 12 февраля 2027

Deckhouse Platform для разработчиков: миграция приложений в кластер Deckhouse Platform

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

Стоимость курса — 85 000 рублей (без учёта НДС*).

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

Аудитория курса

  • Разработчики приложений
  • DevOps⁠-⁠инженеры

Цели курса

  • Получить знания о подходах к миграции приложений в Deckhouse Platform
  • Приобрести базовые навыки автоматизации сборки и развёртывания приложения, используя инфраструктуру и инструменты Deckhouse Platform

Требования к участникам

  • Знать Linux на уровне пользователя
  • Понимать типовые архитектурные решения, которые используются при развёртывании приложений (монолит, распределённый монолит, микросервисная архитектура)
  • Знать основные понятия и сущности Kubernetes (pod, deployment, service, Ingress, PV/PVC, StorageClass)
  • Уметь работать с утилитами kubectl и d8

Формат

  • Курс состоит из теоретического материала и практической части с выполнением лабораторных работ на учебном стенде
  • Tеоретический материал включает вебинары и онлайн⁠-⁠демонстрации работы в кластере

Программа курса

10 лекций

10 демо работы в кластере

9 лабораторных работ

1Цели и ограничения миграции
Получить знания о современных архитектурных решениях при развёртывании приложений, узнать об особенностях Cloud Native App⁠-⁠подхода, проанализировать цели и ограничения миграции.

Теория

  • Cloud Native App
  • Микросервисная архитектура
  • Использование единой среды для сборки, тестирования и развёртывания
  • Автоматизация процессов поставки и развёртывания
  • Масштабирование
  • Упор на облачные сервисы
  • Ограничения наследуемой архитектуры
  • Что делать, если приложение — не Cloud Native App
  • Масштабирование монолита и распределённого монолита
  • Преимущества использования Deckhouse Platform для миграции, автоматизация пятого уровня
  • Экосистема Deckhouse: Deckhouse Platform, Deckhouse Code, Deckhouse Observability, Deckhouse Development Portal, Deckhouse Stronghold
  • Преобразование монолита в распределённую структуру
  • Преимущества разделения монолита
  • Проблемные места реализации
  • Рекомендуемые практики и подход Cloud Native App

Продолжительность модуля

8 ак. часов

2Реализация проекта. Сборка образов приложения. Использование delivery kit для локальной разработки
Научиться использовать утилиту delivery⁠-⁠kit для сборки образов сервисов приложения и локальной разработки.

Теория

  • Контейнерный образ
  • Образ как единый артефакт для всех окружений
  • Что такое хороший образ, лучшие практики в сборке образов
  • Многоэтапная сборка
  • Использование образа «с нуля»
  • Distroless⁠-⁠образы
  • Использование .dockerignore
  • Уменьшение количества слоёв
  • Использование линтера
  • Rootless⁠-⁠контейнеры
  • Использование чувствительных данных
  • Жизненный цикл образа
  • Сборка образов с delivery⁠-⁠kit
  • Процесс сборки
  • Определение структуры приложения для локального развёртывания
  • Использование d8 dk compose
  • Преобразование приложения для использования с управляемыми сервисами Deckhouse

Продолжительность модуля

8 ак. часов

Практика

  • Сборка образов сервисов приложения с delivery⁠-⁠kit
  • Развёртывание приложения локально в режиме разработки

3Подготовка манифестов для развёртывания приложения в кластере Deckhouse Platform
Подготовить манифесты, развернуть приложение в кластере Deckhouse Platform в ручном режиме.

Теория

  • Структура приложения RSS/Atom⁠-⁠агрегатора
  • От контейнера к поду
  • От пода к специализированным развёртываниям
  • Statefulset — запуск сервисов с сохранением состояния
  • Job — выполнение разовых задач
  • CronJob — выполнение задач по расписанию
  • DaemonSet
  • Выбор подходящего типа объекта для сервисов, создание манифестов
  • Применение манифестов, создание объектов в кластере
  • Подключение управляемых сервисов
  • Init⁠-⁠контейнеры

Продолжительность модуля

8 ак. часов

Практика

  • Тегирование образов фронтенда и бэкенда
  • Создание неймспейса проекта
  • Создание секрета для доступа к реестру образов
  • Создание управляемых сервисов
  • Применение манифестов фронтенда и бэкенда
  • Проверка работы приложения

4Настройка сетевой связности и внешнего доступа к приложению
Научиться настраивать сетевую связность между компонентами приложения и сделать приложение доступным извне кластера.

Теория

  • CNI — основа для сетевой связности в кластере
  • Для чего нужны Services
  • kube⁠-⁠proxy
  • kube⁠-⁠proxy vs CNI Cilium
  • Типы сервисов: ClusterIP, NodePort, LoadBalancer, ExternalName
  • Headless Service
  • Модуль service⁠-⁠with⁠-⁠healthchecks
  • Выбор подходящих типов сервисов для компонентов приложения
  • Настройка внешнего доступа к приложению и доступа по HTTPS
  • Настройка Ingress
  • Решение проблем сетевой связности сервисов и доступа к приложению

Продолжительность модуля

8 ак. часов

Практика

  • Создание сервисов бэкенда и фронтенда
  • Проверка работы приложения изнутри кластера по имени сервиса
  • Внешний доступ к приложению в режиме разработки
  • Настройка IngressНастройка TLS

5Обеспечение высокой доступности, масштабирование
Научиться делать работу приложения стабильной, автоматизировать масштабирование сервисов фронтенда и бэкенда

Теория

  • Возможности Deckhouse Platform для автомасштабирования
  • Высокая доступность на уровне кластера: автовосстановление узлов, управление сертификатами и компонентами
  • Высокая доступность и отказоустойчивость приложения (Kubernetes‑объекты): реплики, LivenessProbe, ReadinessProbe, PodDisruptionBudget, podAntiAffinity
  • Автомасштабирование (HPA и VPA)
  • Определение начальных значений resources для сервисов
  • Лучшие практики для определения requests и limits
  • Отказоустойчивость внешнего трафика
  • Масштабирование управляемых сервисов

Продолжительность модуля

8 ак. часов

Практика

  • Настройки для обеспечения высокой доступности и отказоустойчивости приложения
  • Увеличение количества реплик
  • Настройка LivenessProbe и ReadinessProbe
  • PodDisruptionBudget
  • PodAntiAffinity
  • Определение начальных значений resources по нагрузочному тестированию
  • Настройка HPA
  • Настройка VPA в режиме получения рекомендаций

6Автоматизация развёртывания приложения с delivery⁠-⁠kit
Автоматизировать развёртывание приложения в кластере Deckhouse Platform с помощью утилиты delivery⁠-⁠kit.

Теория

  • Использование delivery kit для развёртывания
  • Чарты и шаблонизация
  • Расширенные приёмы шаблонизации: if⁠-⁠else, helpers, range
  • Релиз приложения
  • Работа с чувствительными данными
  • Определение порядка создания ресурсов
  • Использование хуков, миграции
  • Конфигурация delivery kit для развёртывания
  • Процесс развёртывания
  • Команды подготовки и развёртывания: d8 dk render, d8 dk plan, d8 dk converge
  • Подготовка окружения для развёртывания
  • Развёртывание приложения
  • Подстановка параметров в зависимости от заданного окружения
  • Подготовка продуктового окружения для развёртывания
  • Развёртывание в продуктовом окружении
  • Развёртывание приложения в режиме разработки
  • Удаление релиза

Продолжительность модуля

8 ак. часов

Практика

  • Анализ структуры чарта
  • Шаблонизация манифестов
  • Использование хелпера, range
  • Использование секретов delivery⁠-⁠kit
  • Определение порядка создания ресурсов
  • Конфигурация delivery kit для развёртывания
  • Подготовка к развёртыванию и развёртывание приложения
  • Развёртывание приложения в production⁠-⁠окружении
  • Работа с приложением в режиме разработки
  • Удаление релиза

7Построение базового пайплайна CI/CD
Настроить базовый пайплайн для развёртывания приложения RSS/Atom⁠-⁠агрегатора в кластере Deckhouse Platform с использованием Deckhouse Code и научиться решать проблемы при его использовании.

Теория

  • Что такое CI/CD
  • Принципы реализации CI/CD
  • Deckhouse Code
  • Построение базового пайплайна
  • Решение проблем
  • Использование окружений Deckhouse Code
  • Раннеры
  • Артефакты
  • Кеширование
  • Структура базового пайплайна, этапы: проверка Dockerfile с Hadolint, юнит⁠-⁠тестирование приложения, сборка образов, сканирование образов на проблемы с безопасностью, интеграционное тестирование, релиз, развёртывание
  • Выполнение пайплайна
  • Интерфейс пайплайнов Deckhouse Code
  • Файл пайплайна .gitlab⁠-⁠ci.yml
  • Этапы и задачи (jobs) пайплайна
  • Определение параметров проекта
  • Выполнение пайплайна
  • Просмотр логов и артефактов
  • Вывод лога задачи в режиме отладки
  • Интерфейс окружений Deckhouse Code

Продолжительность модуля

8 ак. часов

Практика

  • Интерфейс пайплайнов Deckhouse Code
  • Файл пайплайна .gitlab⁠-⁠ci.yml
  • Этапы и задачи (jobs) пайплайна
  • Определение параметров проекта
  • Выполнение пайплайна
  • Просмотр логов и артефактов
  • Вывод лога задачи в режиме отладки
  • Интерфейс окружений Deckhouse Code

8Развитие проекта CI/CD
Добавить в пайплайн возможность развёртывания приложения в различных окружениях.

Теория

  • Модели ветвления
  • Триггеры пайплайна
  • Организация процесса разработки
  • Динамические окружения
  • Построение финальной версии пайплайна
  • Пайплайны для развёртывания в preview⁠-⁠, staging⁠-⁠ и production⁠-⁠окружении
  • Оптимизация пайплайна
  • Использование темплейтов, якорей YAML, extends, !reference
  • Вынос темплейтов в подключаемые файлы
  • Использование resource group
  • Создание динамических preview⁠-⁠окружений
  • Организация процесса разработки с последовательным развёртыванием приложения в окружениях preview, staging и production
  • Очистка реестра образов по расписанию
  • Добавление задачи на проверку работоспособности приложения после развёртывания
  • Отработка полного цикла внесения оперативных корректировок в проект (хотфиксов)
  • Развёртывание приложения в preview⁠-⁠, staging⁠-⁠ и production⁠-⁠окружениях

Продолжительность модуля

8 ак. часов

Практика

  • Добавление задачи на проверку работоспособности приложения после развёртывания
  • Отработка полного цикла внесения оперативных корректировок в проект (хотфиксов)
  • Развёртывание приложения в preview⁠-⁠, staging⁠-⁠ и production⁠-⁠окружениях

9Использование секретных данных. Deckhouse Stronghold
Настроить Deckhouse Stronghold для работы с пайплайном развёртывания приложения.

Теория

  • Обзор методов работы с секретами в проекте
  • Deckhouse Stronghold: теория и конфигурация
  • Интеграция Deckhouse Stronghold с пайплайном
  • Секреты delivery⁠-⁠kit
  • CI/CD⁠-⁠переменные в проекте Deckhouse Code
  • Использование хранилища секретов
  • Параметры безопасности для переменных CI/CD
  • Проблемы интеграции GitLab CE + Vault
  • Основные возможности и сценарии использования Deckhouse Stronghold
  • JWT‑аутентификация Stronghold
  • Преимущества использования JWT⁠-⁠аутентификации
  • Конфигурация пайплайна для получения секретов

Продолжительность модуля

8 ак. часов

Практика

  • Добавление в темплейт логики получения секретов из Deckhouse Stronghold
  • Подключение файла темплейта в пайплайн
  • Подключение кода получения секретов в задачах
  • Создание хранилища KV⁠-⁠v2 в Stronghold
  • Добавление секретов в Stronghold
  • Создание политик доступа ACL к секретам
  • Конфигурация метода аутентификации по JWT
  • Проверка интеграции

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

Теория

  • Определение целей мониторинга
  • Мониторинг компонентов приложения в кластере, баз данных, приложения, периодически запускаемого сервиса
  • Модуль extended⁠-⁠monitoring
  • Выполнение запросов PromQL
  • Использование метрик приложения
  • Экспорт метрик приложения в Prom++
  • Настройка модуля Prometheus Pushgateway
  • Четыре золотых сигнала мониторинга приложения
  • Условия для срабатывания алертов
  • Настройка алертинга
  • Настройка логирования
  • Выборка логов
  • Расследование инцидентов

Продолжительность модуля

8 ак. часов

Практика

  • Настройка экспорта метрик приложения
  • Конфигурация модуля Prometheus Pushgateway для периодически запускаемого сервиса
  • Подключение расширенного мониторинга
  • Настройка алертов и уведомлений через Webhook
  • Настройка сбора логов
  • Расследование инцидента

Как проходит обучение

До начала обучения

За 5 рабочих дней до старта курса

За 5 рабочих дней до старта курса

За 5 рабочих дней до старта курса

В любое время до старта обучения

Во время обучения

В первый день обучения. Стенд доступен до 19:00 последнего дня обучения

В первый день обучения

Ежедневное посещение 1 вебинара: 4 академических часа

Ежедневно выполнение 1 лабораторной работы: 2⁠–⁠4 академических часа

После завершения обучения

В течение 3 рабочих дней после завершения обучения (при успешной сдаче всех лабораторных работ)

В течение 2 недель после завершения обучения

Повторный доступ выдаётся на 2 недели. Чтобы его получить, отправьте заявку на почту education@flant.ru в течение года после завершения обучения

Сертификат курса

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

Мы обучаем по государственной лицензии №Л035⁠-⁠01298⁠-⁠77/01070671.

Как начать

Свяжитесь с нами любым удобным способом, чтобы обсудить подробности

how-to-start

Мы используем файлы cookie, чтобы сделать работу с сайтом удобнее.
Подробнее — в политике обработки персональных данных и политике использования файлов cookie.