________________________________________________________________________________
Модуль 1: Введение в Kubernetes (25 часов)________________________________________________________________________________
Лекции:- История контейнеризации и Kubernetes, проблемы, решаемые этой технологией
- Основные концепции Kubernetes: кластеры, ноды, поды, реплика-сеты, почему именно так строится концепция Kubernetes
- Архитектура Kubernetes: API-сервер, etcd, kubelet, kube-proxy, проблемные вопросы
Использование kubectl для управления кластерами, как бороться с повышающейся сложностью задач
Семинары- Обзор популярных инструментов и сервисов для работы с Kubernetes, преимущества и недостатки
- Практикум по установке и настройке локального кластера Minikube, типичные ошибки
Домашнее задание- Настройка и запуск простого приложения в Minikube, особенности реализации
Создание манифестов для развертывания приложения, полезные приёмы
________________________________________________________________________________
Модуль 2: Docker и Kubernetes (40 часов)________________________________________________________________________________
Лекции:- Основы Docker: образы, контейнеры, почему так важно хорошо готовить образы, построение доверенных конвейеров сборки
- Связь Docker и Kubernetes: как контейнеры управляются в Kubernetes
- Работа с Dockerfile и построением образов, проверка
- образов, критерии безопасности
- CI/CD пайплайны с использованием Docker и Kubernetes, лучшие практики, типичные ошибки
Семинары- Практическое занятие по созданию Docker-образов и их деплою в Kubernetes, приемы профи
Настройка CI/CD-пайплайнов с использованием GitLab и Jenkins, зачем это нужно
Домашнее задание- Создание собственного Docker-образа и его деплой в Kubernetes, как вы боролись с ошибками
- Реализация простого CI/CD-процесса для вашего проекта, как повысить при этом безопасность
________________________________________________________________________________
Модуль 3: Безопасность в Kubernetes (40 часов)________________________________________________________________________________
Лекции- Принципы безопасности в Kubernetes: аутентификация, авторизация, RBAC, модели угроз и нарушителя
- Шифрование трафика и защита секретов, депривация угроз, митигация рисков
- Мониторинг и аудит безопасности, как и что нужно справлять
- Лучшие практики по обеспечению безопасности в кластере, примеры
Семинары- Лабораторная работа по настройке RBAC и политики сетевого взаимодействия, типичные ошибки
- Анализ уязвимостей и проведение тестов на проникновение, инструменты, принципы работы
Домашнее задание- Применение лучших практик безопасности к вашему проекту, работа над ошибками
- Проведение аудита безопасности существующего кластера, основные методики
________________________________________________________________________________
Модуль 4: Установка и настройка Kubernetes (55 часов)________________________________________________________________________________
Лекции- Способы установки Kubernetes: kops, kubeadm, Rancher, особенности
- Выбор подходящего способа установки в зависимости от среды, планирование установки
- Оптимизация производительности кластеров, полезные приёмы
- Масштабируемость и отказоустойчивость, планирование рисков, расчет надежности
Семинары- Установка и конфигурирование кластера на AWS, Google Cloud или Azure, других (собственных) платформах
- Лаборатория по оптимизации производительности и масштабированию кластера, основные приёмы и методики
Домашнее задание- Установить и настроить собственный кластер Kubernetes в облачном провайдере, разобраться с ограничениями
- Выполнить оптимизацию и масштабирование кластера, описать проблемы с которыми встретились
________________________________________________________________________________
Модуль 5: Простые абстракции (30 часов)________________________________________________________________________________
Лекции- Helm: установка и управление приложениями, недостатки
- Operators: создание и использование операторов
- Custom Resource Definitions (CRD): расширение возможностей Kubernetes
Семинары- Использование Helm для развертывания сложных приложений, типичные ошибки
- Создание и внедрение оператора для специфического сервиса, лучшие практики
Домашнее задание- Разработка и деплой CRD для вашего приложения, ошибки новичков
- Использование оператора для автоматизации задач, когда это выгодно
________________________________________________________________________________
Модуль 6: Сетевое взаимодействие (40 часов)________________________________________________________________________________
Лекции:- Основы сетевой архитектуры Kubernetes: Service, Ingress, LoadBalancer
- Внутреннее и внешнее сетевое взаимодействие
- Сервис-мэш и сервис-дискавери
- Интеграция с существующими сетевыми инфраструктурами
Семинары- Настройка Ingress-контроллеров и балансировщиков нагрузки
- Реализация сервис-мэша Istio или Linkerd
Домашнее задание- Конфигурация сетевых политик для вашего проекта, какие возникают сложности
- Развертывание и тестирование сервис-мэш в вашем кластере, основные проблемы
________________________________________________________________________________
Модуль 7: Развёртывание в различных средах (60 часов)________________________________________________________________________________
Лекции:- Локальные, гибридные и мультиоблачные окружения, преимущества и недостатки
- Особенности развёртывания в разных облаках: AWS, GCP, Azure, приватные облака
- Гибридные и мультикластерные решения, плюсы и минусы
- Миграция между различными средами, возможные стратегии действия
Семинары- Практическое занятие по разворачиванию приложений в нескольких облаках, сравнение результатов
- Настройка гибридной инфраструктуры с использованием Kubernetes, ей тестирование
Домашнее задание- Создание плана миграции приложения между разными облаками, ошибки планирования, как устраняем их
- Тестирование гибридной конфигурации, примеры покрытия тестами
________________________________________________________________________________
Итоговая аттестация________________________________________________________________________________
Студенты проходят итоговую аттестацию, включающую:- Защиту проектов, выполненных в ходе курса, проверку домашних заданий, учет активности
- Презентацию результатов лабораторных работ, работу над ошибками
- Прохождение тестирования на платформе курса, 60 вопросов (возможно использование всех доступных материалов)
________________________________________________________________________________