Kubernetes с нуля: оркестрация контейнеров

От первого пода до управления кластером

О курсе

Kubernetes стал стандартом запуска контейнерных приложений в продакшне. Этот курс проведёт вас от понимания архитектуры кластера до самостоятельного развёртывания и управления приложениями. Предполагается знание Docker — рекомендуем предварительно пройти курс по Docker.

Целевая аудиторияDevOps-инженеры и разработчики со знанием Docker
Формат6 модулей, практика на локальном кластере minikube
ИтогРазвёртывание многокомпонентного приложения в кластере
01

Архитектура Kubernetes

Разбираем, зачем нужен Kubernetes и как устроен кластер изнутри. Вы узнаете, из каких компонентов состоит control plane и worker nodes, и научитесь разворачивать локальный кластер для экспериментов.

Ключевые темы

  • Зачем нужен Kubernetes: проблемы, которые он решает
  • Архитектура кластера: control plane и worker nodes
  • Компоненты control plane: kube-apiserver, etcd, scheduler, controller-manager
  • Компоненты узла: kubelet, kube-proxy, container runtime
  • Установка локального кластера: minikube, kind
  • kubectl: синтаксис и базовые команды
02

Поды и контроллеры

Изучаем основную единицу развёртывания в Kubernetes — под — и контроллеры, которые управляют его жизненным циклом. Разбираемся с декларативным подходом через YAML-манифесты и механизмом rolling update.

Ключевые темы

  • Pod: минимальная единица развёртывания
  • YAML-манифест пода
  • Жизненный цикл пода и статусы
  • ReplicaSet: поддержание нужного количества реплик
  • Deployment: декларативное обновление приложения
  • Rolling update и rollback
03

Сервисы и сетевое взаимодействие

Разбираем, как поды общаются между собой и с внешним миром. Изучаем типы сервисов, настраиваем Ingress для HTTP-роутинга и знакомимся с DNS внутри кластера.

Ключевые темы

  • Service: абстракция над подами
  • Типы сервисов: ClusterIP, NodePort, LoadBalancer
  • Endpoints и selectors
  • Ingress: HTTP-роутинг и TLS-терминация
  • Ingress-контроллеры: nginx, traefik
  • DNS внутри кластера: CoreDNS
04

Конфигурация и хранение данных

Учимся хранить конфигурацию и чувствительные данные отдельно от контейнера, а также подключать постоянные хранилища к подам для работы с базами данных и другими stateful-приложениями.

Ключевые темы

  • ConfigMap: хранение конфигурации
  • Secret: безопасное хранение чувствительных данных
  • Volumes: emptyDir, hostPath
  • PersistentVolume и PersistentVolumeClaim
  • StorageClass: динамическое выделение томов
  • Проброс конфигурации в поды: env, envFrom, volumeMount
05

Helm: управление пакетами

Знакомимся с Helm — менеджером пакетов для Kubernetes. Разбираем структуру chart-пакетов, шаблонизацию через values.yaml и учимся создавать собственные чарты для удобного развёртывания приложений.

Ключевые темы

  • Что такое Helm и зачем он нужен
  • Chart: структура и компоненты
  • values.yaml и шаблонизация
  • Установка, обновление и удаление релизов
  • Поиск чартов в Artifact Hub
  • Создание собственного чарта
06

Мониторинг и масштабирование

Разбираем, как Kubernetes управляет ресурсами и автоматически масштабирует приложения под нагрузкой. Настраиваем пробы для контроля работоспособности и подключаем мониторинг через Prometheus и Grafana.

Ключевые темы

  • Resource requests и limits: CPU и память
  • Horizontal Pod Autoscaler (HPA)
  • Liveness, readiness и startup пробы
  • Мониторинг: Prometheus + Grafana (обзор)
  • Логирование: централизованный сбор логов
  • Namespace: изоляция окружений

Итоговый проект

Развернуть в кластере многокомпонентное приложение: веб-сервис (frontend), API (backend) и базу данных. Настроить Ingress с роутингом, хранение данных через PVC, конфигурацию через ConfigMap и Secret, горизонтальное автомасштабирование и мониторинг через Prometheus.

Задания на портале Вернуться на главную