Курс предназначен для специалистов, завершивших курс 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-чартами. Затем строится конвейер сбора логов, подключаются хранилища и дашборды, а в финале всё объединяется в комплексный проект.

№НеделяТемы
1HelmАрхитектура Helm, структура чарта, шаблонизатор, helper-функции, управление релизами, репозитории, хуки и тесты, использование ИИ для создания чартов
2Сбор, роутинг и очередь логовАрхитектура сбора логов, Fluent Bit и Vector как сборщики (сравнение), Redpanda как очередь, Vector как роутер, backpressure, брокеры без Zookeeper (Kafka KRaft vs Redpanda)
3Хранилища, дашборды, логи EnvoyOpenSearch (индексы, 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"]

Расписание курсов

Как такового расписания нет.

Начало нового потока курсов объявляется в группе в Телеграм.