03 · Платформа: DevOps, k8s, сеть, хранилище3.9 · Карта сервисов MDP3.9.3средний

Практика чтения карты MDP

Зачем это нужно

Теория слоёв и навигации закрепляется только через упражнения на сценариях. Здесь — типовые ситуации capstone: trace request, trace release, trace data. Вы не получаете готовые ответы «куда кликнуть в prod MDP» (они у каждой команды свои), но алгоритм одинаковый.

Основные идеи

Упражнение A — Trace north-south request.

Задача: клиент шлёт POST https://scorer-dev.ml.mdp.ru/v1/predict. Выпишите цепочку компонентов MDP из модулей 3.5–3.8.

Ожидаемый скелет ответа (проверьте себя):

  1. DNS → LB

  2. Istio Ingress Gateway / Gateway API listener

  3. HTTPRoute или VirtualService

  4. Service scorer → Endpoints

  5. Pod: istio-proxy + app container

  6. (optional) вызов Feature Store east-west через mesh

  7. (optional) read model from MinIO or local PVC cache

Если пропустили слой — вернитесь к 3.6.1.

Упражнение B — Trace model release.

Новая версия v46 в MinIO, образ scorer:130.

# Компонент Действие
1 Jenkins build & push :130
2 Git MR values: image.tag, model.key
3 Argo CD sync Deployment
4 Kubernetes rollout new Pods
5 MinIO объект по новому key
6 Istio (optional) canary split
7 VictoriaMetrics watch error rate

Где не участвует Argo Workflows? — Deploy inference (CD), не train.

Упражнение C — Storage choice.

Для каждого объекта выберите MinIO vs Longhorn PVC и аргументируйте одной фразой:

  • Финальный model.onnx 2 GB после training

  • Checkpoint каждые 10 min во время 8h train

  • Parquet датасет 500 GB для Spark/Argo step

  • Логи inference 7 дней retention

Упражнение D — Incident cards.

Карточка 1: «Certificate not ready» на HTTPRoute.

Слой: ingress + cert-manager.

Checks: kubectl get certificate, Challenge, issuer.

Карточка 2: «PVC Pending».

Слой: storage.

Checks: StorageClass, Longhorn node disk, events on PVC.

Карточка 3: «Argo OutOfSync persistent».

Слой: GitOps.

Checks: diff в UI, manual kubectl edit?, selfHeal, branch protection.

Карточка 4: «GPU train Workflow Pending».

Слой: scheduling + quota.

Checks: kubectl describe workflow, ResourceQuota, node labels nvidia.com/gpu.

Упражнение E — Platform map literacy.

Дана выдержка из wiki (гипотетическая):

mdp-addons/ longhorn/ # block storage istio/ # mesh 1.20 minio/ # tenant ml-data argo-cd/ victoria-metrics/ loki/ ml-services/ feature-store/ seldon-operator/

Вопросы:

  1. Где искать Helm values для retention Loki? → mdp-addons/loki, platform repo, не ваш scorer chart.

  2. Кто деплоит Feature Store? → отдельный Application в ml-services/, не ваш capstone MR.

  3. Ваш scorer зависит от Feature Store — это upstream dependency; документируйте в architecture diagram.

Anti-pattern на экзамене/capstone. Перечислить 69 сервисов без связи с вашим пайплайном — минус. Плюс — слой + симптом + 2 команды проверки.

Как это выглядит на практике

Capstone deliverable «Platform touchpoints» (1 страница).

`

Scorer on MDP

Concern System Identifier
CI Jenkins job/scorer-build
CD Argo CD app/scorer-dev
Models MinIO s3://ml-models/scorer/v46/
Ingress Istio + HTTPRoute scorer-dev.ml.mdp.ru
Metrics VictoriaMetrics dashboard uid xxx
Logs Loki {app="scorer"}
Features Feature Store grpc feature-store:6565
Serving Raw Deployment / KServe Deployment/scorer

Failure modes

  • MinIO 403 → check Secret minio-credentials
  • ... `

Парная работа. Один студент читает карту observability, другой — storage; объясняют друг другу путь batch train → model in MinIO → Argo CD deploy.

Связь с блоком 4 (если дальше по курсу). Monitoring drift модели использует VictoriaMetrics + logs Loki — вы уже знаете, где они на карте.

Что сделать после занятия

  • Выполните упражнения A–D письменно (полстраницы каждое).

  • Соберите таблицу Platform touchpoints для capstone.

  • Пройдите одну карточку incident в учебном кластере (преподаватель simulates или historical ticket).

Официальные материалы