• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

Основы оркестрации в контейнерных средах

Статус: Маго-лего
Когда читается: 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 3

Программа дисциплины

Аннотация

Курс «Основы оркестрации в контейнерных средах» предназначен для инженеров и разработчиков, желающих получить практические знания о Kubernetes и контейнеризации на базе Linux. Участники изучат ключевые механизмы Linux, такие как namespaces и cgroups, и их применение в современных технологиях оркестрации.Курс фокусируется на основных объектах Kubernetes: Pods, Nodes, ReplicaSets, Deployments и Services. Особое внимание уделяется практическим аспектам развёртывания, масштабирования и обновления приложений. Студенты освоят сетевые технологии кластера, включая настройку сетевого взаимодействия и балансировку нагрузки с помощью сервисов и Ingress-контроллеров.Дополнительно рассматриваются темы хранения данных, масштабирования, мониторинга и безопасности, включая настройку RBAC и применение Network Policies. Завершается курс интеграцией Kubernetes с системами CI/CD и облачными сервисами для автоматизации процессов развёртывания и доставки приложений.
Цель освоения дисциплины

Цель освоения дисциплины

  • Изучить основные механизмы Linux (namespaces, cgroups) и их применение для контейнеризации.
  • Освоить архитектуру Kubernetes и ключевые объекты оркестрации (Pods, Nodes, ReplicaSets, Deployments, Services).
  • Получить навыки настройки сетевого взаимодействия и управления сетевой безопасностью (Ingress-контроллеры, Network Policies).
  • Научиться работать с системами хранения данных в Kubernetes, включая динамическое и статическое предоставление хранилищ.
  • Овладеть методами масштабирования, мониторинга и оптимизации контейнерных приложений с использованием Prometheus и Grafana.
  • Изучить подходы к обеспечению безопасности контейнеров и интеграции Kubernetes с CI/CD для автоматизации развёртывания и управления инфраструктурой.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает основные виды систем хранения данных в Kubernetes, включая emptyDir, hostPath и persistentVolumeClaim.
  • Знает принципы работы StatefulSets для управления состоянием приложений.
  • Знает различия между динамическим и статическим предоставлением хранилищ.
  • Знает механизмы управления данными при масштабировании и обновлении приложений.
  • Умеет настраивать и управлять хранилищами данных в Kubernetes, включая создание и использование Persistent Volumes (PV) и Persistent Volume Claims (PVC).
  • Умеет обеспечивать корректное поведение приложений при масштабировании и обновлении, сохраняя их данные.
  • Владеет навыками работы с различными типами Volumes и их интеграцией в приложения.
  • Владеет приёмами настройки и использования StatefulSets для обеспечения устойчивости приложений с состоянием.
  • Знает механизмы масштабирования приложений в Kubernetes, включая Horizontal Pod Autoscaler (HPA) и Vertical Pod Autoscaler (VPA).
  • Знает принципы управления ресурсами через запросы (requests) и лимиты (limits).
  • Знает основы мониторинга приложений с использованием Prometheus и Grafana.
  • Знает методы настройки алертинга и ключевых метрик для оценки производительности и стабильности приложений.
  • Умеет настраивать HPA и VPA для автоматического масштабирования приложений на основе метрик нагрузки.
  • Умеет конфигурировать запросы и лимиты ресурсов для обеспечения стабильности работы приложений.
  • Умеет интегрировать приложения с системами мониторинга, такими как Prometheus и Grafana.
  • Умеет настраивать алертинг для своевременного выявления проблем и реагирования на них.
  • Владеет навыками работы с инструментами мониторинга, включая создание пользовательских дашбордов в Grafana.
  • Владеет методами настройки масштабируемости приложений, обеспечивающими их устойчивую работу под нагрузкой.
  • Знает основы аутентификации и авторизации в Kubernetes, включая использование TLS, сертификатов и RBAC.
  • Знает принципы настройки и применения Network Policies для ограничения сетевого трафика.
  • Знает подходы к обеспечению безопасности контейнеров, включая минимизацию привилегий и сканирование уязвимостей.
  • Знает лучшие практики для повышения безопасности в Kubernetes.
  • Умеет настраивать и управлять правами доступа в кластере с использованием RBAC.
  • Умеет применять Network Policies для управления сетевым взаимодействием между объектами в кластере.
  • Умеет использовать инструменты для анализа и сканирования контейнеров на наличие уязвимостей.
  • Владеет навыками настройки безопасной аутентификации и авторизации в Kubernetes.
  • Владеет техниками ограничения сетевого трафика и повышения безопасности сетевого взаимодействия с использованием Network Policies.
  • Владеет приёмами работы с инструментами безопасности контейнеров, такими как сканеры уязвимостей и средства анализа конфигураций.
  • Знает принципы работы систем CI/CD, таких как Jenkins, GitLab CI/CD и Argo CD, и их применение для автоматизации развёртывания.
  • Знает основы паттернов GitOps для управления инфраструктурой через декларативные конфигурации.
  • Знает особенности работы с контейнерными реестрами и управления образами.
  • Знает подходы к безопасному управлению секретами и конфигурациями в процессах CI/CD.
  • Умеет настраивать и оптимизировать CI/CD конвейеры для автоматизации процессов тестирования и развёртывания.
  • Умеет управлять образами контейнеров: их версионированием, хранением и безопасной доставкой.
  • Умеет использовать механизмы безопасного хранения и передачи секретов в рамках CI/CD процессов.
  • Владеет навыками работы с популярными инструментами CI/CD (Jenkins, GitLab CI/CD, Argo CD) и их интеграцией с Kubernetes.
  • Владеет методами безопасной работы с контейнерными реестрами, включая аутентификацию, доступ и управление образами
  • Владеет практическими подходами к защите конфигураций и секретов в CI/CD пайплайнах.
  • Знает основы архитектуры ОС Linux, включая взаимодействие между user space и kernel space.
  • Знает назначение и функции системных вызовов в работе приложений.
  • Знает основы безопасности в Linux: права доступа, управление пользователями и группами.
  • Умеет использовать системные инструменты для анализа и управления ресурсами ОС.
  • Умеет выполнять основные операции управления процессами: запуск, мониторинг, изменение приоритетов.
  • Владеет практическими методами конфигурации операционной системы для обеспечения безопасности и эффективности.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Архитектура и механизмы операционной системы Linux
  • Изоляция и ограничение ресурсов в Linux
  • Основные объекты и примитивы Kubernetes
  • Оркестрация контейнеров с Kubernetes
  • Сетевые технологии в Kubernetes
  • Хранение данных и состояние в Kubernetes
  • Масштабирование, мониторинг и оптимизация
  • Безопасность и лучшие практики
  • CI/CD и интеграция с облачными сервисами
Элементы контроля

Элементы контроля

  • неблокирующий Тесты
  • неблокирующий Домашние задания
  • неблокирующий Лабораторные работы
  • неблокирующий Коллоквиум
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 3rd module
    0.39 * Домашние задания + 0.05 * Коллоквиум + 0.12 * Лабораторные работы + 0.24 * Тесты + 0.2 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Kubernetes Secrets management, Bueno, A. B., 2023
  • Linux. Сборник рецептов : кн. практ. советов для пользователей и системных администраторов, Шредер, К., 2006
  • Паттерны Kubernetes : шаблоны разработки собственных облачных приложений, Ибрам, Б., 2020

Рекомендуемая дополнительная литература

  • Linux system programming, Love, R., 2007
  • Linux на практике, Бреснахэн, К., 2017
  • Командная строка Linux : полное руководство, Шоттс, У., 2021

Авторы

  • Панасюк Евгений Владимирович
  • Романова Ирина Ивановна
  • Башун Владимир Владимирович