Описание курса:
Этот курс посвящён изучению Kubernetes — одной из самых популярных платформ для оркестрации контейнеров. Он охватывает как базовые, так и продвинутые аспекты работы с K8s, начиная от контейнеризации с Docker и заканчивая автоматизацией развертывания, мониторингом и масштабированием приложений в облаке.
Аудитория:
• Разработчики приложений;
• DevOps-инженеры и SRE.
Необходимая подготовка:
Нужно знать основы программирования, операционную систему Linux и популярные DevOps-инструменты, такие как Git и Docker.
Программа курса:
Модуль 1. Контейнеризация и базовые принципы Kubernetes:
• Приложения в облачной среде;
• Основы Docker и Kubernetes;
• Базовые понятия и абстракции Kubernetes;
• Развертывание приложений в Kubernetes, работа с утилитой kubectl, создание основных объектов кластера.
Модуль 2. Проектирование, разработка и управление приложениями в Kubernetes:
• Разница между stateful и stateless приложениями;
• Использование Deployment для запуска stateless-приложений;
• Запуск stateful-приложений с помощью StatefulSet;
• Назначение и применение DaemonSet;
• Управление одноразовыми и периодическими задачами через Job и CronJob;
• Развертывание простого приложения и настройка выполнения регулярных задач.
Модуль 3. Обнаружение сервисов, архитектура и сетевые механизмы в Kubernetes:
• Архитектурные компоненты Kubernetes;
• Сетевая модель в Kubernetes;
• Механизм Service Discovery;
• Настройка взаимодействия между приложениями внутри кластера, обеспечение внешнего доступа с помощью Ingress, анализ и устранение неполадок в Kubernetes.
Модуль 4. Управление жизненным циклом подов, паттерны и декларативное развертывание:
• Жизненный цикл подов и его особенности;
• Практические аспекты управления подами;
• Применение структурных паттернов;
• Развертывание собственного приложения и настройка проверок (probes) для повышения отказоустойчивости.
Модуль 5. Helm — менеджер пакетов для Kubernetes:
• Введение в Helm и его роль в управлении приложениями;
• Создание собственных Helm-чартов;
• Управление релизами с помощью Helm;
• Расширенные функции Helm, включая работу с зависимостями;
• Разработка, публикация чарта и его использование для развертывания приложений в различных окружениях.
Модуль 6. Управление ресурсами и масштабирование в Kubernetes:
• Введение в управление ресурсами;
• Назначение и работа компонента Scheduler;
• Оптимальное распределение приложений по кластеру;
• Типы масштабирования в Kubernetes;
• Практическое применение автоматического масштабирования;
• Реализация ручного и автоматического горизонтального масштабирования с помощью Horizontal Pod Autoscaler (HPA).
Модуль 7. Непрерывная доставка приложений в Kubernetes:
• Основы CI/CD и их роль в DevOps;
• Реализация CI/CD-конвейера с использованием GitLab CI;
• Настройка системы версионирования в GitLab;
• Организация процесса Continuous Delivery с интеграцией в Kubernetes.
Модуль 8. Мониторинг приложений в Kubernetes:
• Введение в систему мониторинга;
• Использование Prometheus для отслеживания состояния приложений в Kubernetes;
• Продвинутые методики масштабирования на основе данных мониторинга;
• Настройка и внедрение системы мониторинга в кластере K8s.
Модуль 9. Продвинутые стратегии развертывания в Kubernetes:
• Обзор современных подходов к деплою приложений;
• Практическая реализация Blue/Green развертывания;
• Выпуск обновлений по модели Canary;
• Выбор и внедрение оптимальной стратегии развертывания приложения.
Окончательная цена указывается в договоре на обучение.