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

Как ходить по платформе MDP

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

Карта слоёв (урок 3.9.1) — статическая. В работе нужен маршрут: куда зайти в UI, какой namespace, какой Git repo, кого ping при инциденте. Этот урок — практическая навигация для ML-инженера без доступа ко всему admin plane.

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

Три «якоря» вашего сервиса.

  1. Git repo — Helm chart / Application source (Argo CD).

  2. Kubernetes namespaceml-dev, ml-prod, team namespace.

  3. External URL — hostname на Gateway.

Запишите их в README capstone — 80% поисков начинаются отсюда.

Argo CD UI — «что должно быть».

  • Application name → repo URL, path, revision

  • Sync status / Health

  • Diff: OutOfSync resources

  • Events: почему sync failed

Если Pod не тот образ — сначала Argo, не kubectl patch.

Kubernetes — «что есть сейчас».

kubectl config current-context kubectl get ns kubectl get all -n ml-dev -l app=scorer kubectl describe pod -n ml-dev -l app=scorer kubectl logs -n ml-dev -l app=scorer --tail=100

Observability — «как вело себя».

  • Grafana → dashboard «ML Inference» / namespace filter

  • Explore Loki: {namespace="ml-dev", app="scorer"}

  • Alerts в VictoriaMetrics/Alertmanager — подписка на канал team

Storage.

  • MinIO: console или mc ls — bucket модели, lifecycle

  • PVC: kubectl get pvc -n ml-dev — Longhorn status

CI.

  • Jenkins job scorer/build — последний успешный build, artifact tag

  • Связь: build #128 → Git tag 128 в values → Argo revision

Workflows.

  • Argo Workflows UI — namespace ml-train — nightly retrain

Кто за что (типичный RACI на MDP).

Вопрос Куда
Quota GPU / новый namespace Platform ticket + Terraform MR
TLS / новый hostname Platform + HTTPRoute MR в ваш chart
Jenkins agent не стартует DevOps / platform
Модель 404 в MinIO Вы / data engineer
5xx на predict Вы → logs → deps

Runbook mindset. Одна страница: Symptoms → Checks (ordered) → Escalation. Не 69 ссылок — 5 команд и 3 dashboard.

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

Утро понедельника: «scorer dev красный».

  1. Argo CD: Application scorer-dev — Degraded? Sync failed?

  2. Если Synced: kubectl get pods -n ml-dev — CrashLoopBackOff?

  3. Logs: OOM? Model not found s3://...? Feature store connection refused?

  4. Grafana: spike 5xx с 09:00 — correlates with deploy? rollback via Git revert + Argo sync

  5. Если node issue: platform channel — Longhorn/CNI

Новый разработчик onboarding (30 min).

`

доступы выданы platform

kubectl get httproute -n ml-dev argocd app get scorer-dev open https://grafana.mdp.ru/... `

Документ team: ссылки только на ваши ресурсы, не вся карта MDP.

KServe / Seldon path. InferenceService CRD в namespace → status Ready → URL в status или через Gateway HTTPRoute. Логи контейнера kserve-container + istio-proxy.

Feature Store. Отдельный hostname или gRPC in-cluster feature-store.ml-prod.svc:6565 — смотрите platform doc «Service discovery»; из scorer Pod:

kubectl run -it --rm curl --image=curlimages/curl --restart=Never -- \ curl -s feature-store:6565/health

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

  • Заполните шаблон «якоря сервиса»: Git, namespace, URL, Jenkins job, bucket.

  • Пройдите путь Argo CD → Pod logs → Loki query для одного учебного деплоя.

  • Напишите mini-runbook из 5 шагов для «predict возвращает 500».

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