Основы контейнеризации и Kubernetes
Цель этого курса сформировать у слушателей прочный фундамент знаний о современных подходах к развёртыванию приложений. Он даёт понимание эволюции от виртуализации к контейнерам, знакомит с экосистемой инструментов (Docker, Podman) и предоставляет практические навыки развёртывания, настройки и базового администрирования кластера Kubernetes
от 34 100₽
Для физ. лиц - 34 100₽
Для организаций - 38 600₽
Ближайшая группа
Дата уточняется
Целевая аудитория
Системные администраторы, начинающие DevOps-инженеры, разработчики и QA-специалисты, имеющие базовый опыт работы с Linux и командной строкой, но не имеющие опыта работы с оркестраторами
Получаемые знания и навыки
По окончании курса Вы сможете:- Объяснять различия между виртуализацией и контейнеризацией, понимать принципы микросервисной архитектуры и IaC
- Самостоятельно создавать Docker-образы и управлять контейнерами с помощью Docker или Podman
- Понимать архитектуру Kubernetes и различия между «голым» K8s и OpenShift
- Развертывать локальный кластер Kubernetes для разработки и тестирования
- Описывать инфраструктуру декларативно с помощью YAML-манифестов
- Разворачивать, масштабировать и обновлять приложения в кластере, используя Pod, Deployment и Service
- Настраивать HTTP/HTTPS маршрутизацию через Ingress
- Управлять конфигурациями, ресурсами и базовым хранением данных в кластере
- Настраивать health checks (Readiness, Liveness, Startup Probes) для обеспечения отказоустойчивости
- Проводить диагностику и устранение неполадок в кластере
от 34 100₽
Для физ. лиц - 34 100₽
Для организаций - 38 600₽
Преподаватели курса
Михаил Крылов
Преподаватель, системный архитектор и разработчик ПО с 23-летним опытом в ИТ-обучении и реализации сложных проектов
Программа курса
- Эволюция инфраструктуры и подходы к развертыванию
- Виртуализация (Hypervisor) vs Контейнеризация: архитектурные различия, плюсы и минусы
- Принципы микросервисной архитектуры
- Концепция Инфраструктуры как Код (IAC)
- Технологии и инструменты контейнеризации
- Эволюция контейнеров: от LXC к современным стандартам (OCI)
- Docker: архитектура (Daemon, CLI, Registry), основные команды.
- Podman: архитектура без демона (daemonless), отличия от Docker, совместимость команд
- Container Runtimes: краткое знакомство с containerd, CRI-O
- Docker Compose: описание мультиконтейнерных приложений, файл docker-compose.yml
- Зачем нужна оркестрация?
- Проблемы управления контейнерами в продакшене: масштабирование, отказоустойчивость, обновление без простоя
- Обзор оркестраторов: Kubernetes (де-факто стандарт) и Red Hat Openshift (корпоративная надстройка)
- Архитектура Kubernetes
- Control Plane (Master): API Server, etcd, Scheduler, Controller Manager
- Worker Node: Kubelet, Kube-proxy, Container Runtime (containerd/CRI-O)
- Container Runtime Interface (CRI)
- Варианты развёртывания для разработки: Minikube, Kind, k3s
- Варианты для продакшена: kubeadm, Managed Kubernetes
- Декларативный подход и базовые ресурсы
- Императивный (kubectl run, kubectl expose) vs Декларативный (YAML-манифесты) подход
- Структура YAML-манифеста
- Pod: наименьшая неделимая единица.
- Namespaces: логическая изоляция ресурсов. Создание и переключение между неймспейсами
- Управление приложениями: ReplicaSet и Deployment
- ReplicaSet: обеспечение заданного количества реплик подов. Как он работает под капотом
- Deployment: декларативное управление обновлениями и откатами
- Rolling Update: стратегия обновления без простоя
- История ревизий: kubectl rollout history, kubectl rollout undo
- Стратегии обновления: RollingUpdate и Recreate
- Масштабирование приложений (императивное: kubectl scale и через YAML)
- Сеть и доступ к приложениям: Services и Ingress
- Проблема эфемерности IP-адресов подов
- Service Discovery внутри кластера (внутренний DNS: service-name.namespace.svc.cluster.local)
- Типы сервисов:
- ClusterIP — внутренний доступ
- NodePort — внешний доступ через порт на узле
- LoadBalancer — внешний балансировщик (для облачных провайдеров)
- Селекторы (Labels + Selectors) как механизм связывания Service с Pod
- Port-forwarding: kubectl port-forward для быстрого доступа к поду без Service
- Ingress: HTTP/HTTPS маршрутизация на уровне приложения
- Ingress-контроллеры: Nginx Ingress, Traefik
- Host-based и path-based routing
- TLS-терминация на уровне Ingress
- Аннотации и расширенная конфигурация
- Управление конфигурациями, секретами и ресурсами
- Проблема хардкода конфигураций в образах
- ConfigMap: хранение неконфиденциальных данных (переменные окружения, файлы конфигурации)
- Secret: хранение конфиденциальных данных (пароли, токены)
- Типы секретов: Opaque, docker-registry, tls
- Внедрение ConfigMap и Secret в поды
- Resource Management: Requests и Limits для CPU и Memory
- Как Requests влияют на планирование подов
- Основы работы с хранилищем
- Эфемерность файловой системы контейнера
- emptyDir: временное хранилище, разделяемое между контейнерами в поде. Жизненный цикл
- hostPath: доступ к файловой системе узла. Ограничения и предостережения (риски безопасности)
- Краткий обзор концепции Persistent Volume (PV) и Persistent Volume Claim (PVC) как введение в постоянное хранение
- Принцип «stateful vs stateless» приложений в контексте Kubernetes:
- Диагностика и Probes
- Readiness Probes: проверка готовности пода принимать трафик
- Liveness Probes: проверка живости пода, автоматический перезапуск при зависании
- Startup Probes: для приложений с долгим стартом (защита от преждевременных проверок)
Стоимость и условия оплаты
от 34 100₽
Для физ. лиц - 34 100₽
Для организаций - 38 600₽