Курс предназначен для специалистов, завершивших курс Kubernetes Junior-01.
Курс посвящён работе с Helm и наблюдаемости (observability): сбору, доставке и хранению логов и мониторингу ingress-трафика.
Формат проведения - ментор-студент.
Важно
Курс предполагает самостоятельное развёртывание кластера Kubernetes с нуля (1 control plane + 4 worker). Инструкция по установке кластера находится в материалах курса. Требования к тестовому стенду.
Для кого этот курс
Слушатель курса Junior-2 умеет:
- писать манифесты Kubernetes (Pod, Deployment, StatefulSet, DaemonSet, Job/CronJob, Service, Ingress, Gateway API);
- работать с томами (PV/PVC, NFS, Projected Volumes);
- настраивать RBAC, CoreDNS, Ingress и Gateway API;
- разворачивать приложения при помощи манифестов.
Курс Junior-2 заполняет пробелы, необходимые для реальной эксплуатации приложений в kubernetes:
- упаковка приложений - Helm;
- наблюдаемость - сбор, доставка и хранение логов, дашборды;
- мониторинг ingress - сбор access-логов Gateway API.
План курса по неделям
Каждая неделя предполагает самостоятельную работу слушателя в объёме 3 часа в день, 6 дней (18 часов). Седьмой день - запасной: для отставания, углублённого изучения или завершения практических заданий. По завершении самостоятельной работы - контроль преподавателя.
Snapshots виртуальных машин
Перед началом изучения каждой новой темы рекомендуется создать snapshot всех виртуальных машин тестового стенда. Это позволит быстро вернуться к рабочему состоянию в случае ошибок при выполнении практических заданий.
Сквозной сценарий курса: “упаковать → собирать → хранить → наблюдать”. Helm идёт первым, так как все стеки логирования разворачиваются Helm-чартами. Затем строится конвейер сбора логов, подключаются хранилища и дашборды, а в финале всё объединяется в комплексный проект.
| № | Неделя | Темы |
|---|---|---|
| 1 | Helm | Архитектура Helm, структура чарта, шаблонизатор, helper-функции, управление релизами, репозитории, хуки и тесты, использование ИИ для создания чартов |
| 2 | Сбор, роутинг и очередь логов | Архитектура сбора логов, Fluent Bit и Vector как сборщики (сравнение), Redpanda как очередь, Vector как роутер, backpressure, брокеры без Zookeeper (Kafka KRaft vs Redpanda) |
| 3 | Хранилища, дашборды, логи Envoy | OpenSearch (индексы, ISM, Dashboards), миграция на VictoriaLogs, Grafana-дашборды, access-логи Envoy/Gateway API |
| 4 | Итоговая контрольная работа | Комплексный проект: собственный Helm-чарт приложения-генератора логов + развёртывание системы сбора логов на VictoriaLogs + Grafana |
Сквозная архитектура курса
flowchart TD
User["user (curl)<br/>из-за пределов кластера"]
subgraph App["Приложения"]
GW["Gateway API (Envoy)"]
Nginx["nginx<br/>(приложение, access-логи)"]
Flog["flog<br/>(генератор шума логов)"]
GW --> Nginx
end
User -->|"HTTP-запрос"| GW
GW -. "access-логи Envoy" .-> Coll
Nginx -. "stdout логи" .-> Coll
Flog -. "stdout логи" .-> Coll
subgraph Coll["Сбор и доставка"]
FB["Fluent Bit<br/>(DaemonSet)"]
VC["Vector<br/>(DaemonSet)"]
RP[("Redpanda - очередь")]
VR["Vector-роутер<br/>(агрегатор)"]
FB --> RP
VC --> RP
RP --> VR
end
VR --> VL["VictoriaLogs"]
VR --> OS["OpenSearch"]
VL --> Graf["Grafana<br/>(VictoriaLogs datasource)"]
Graf --> Env["Envoy/Gateway API дашборд"]
OS --> OSD["OpenSearch Dashboards"]
Расписание курсов
Как такового расписания нет.
Начало нового потока курсов объявляется в группе в Телеграм.
