MLOps Path

3.9.3 · блок 3

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

Практика чтения карты 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 и аргументируйте одной фразой:

Упражнение 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 — вы уже знаете, где они на карте.

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

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

Открыть интерактивную версию