Зачем это нужно
Карта слоёв (урок 3.9.1) — статическая. В работе нужен маршрут: куда зайти в UI, какой namespace, какой Git repo, кого ping при инциденте. Этот урок — практическая навигация для ML-инженера без доступа ко всему admin plane.
Основные идеи
Три «якоря» вашего сервиса.
Git repo — Helm chart / Application source (Argo CD).
Kubernetes namespace —
ml-dev,ml-prod, team namespace.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 модели, lifecyclePVC:
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 красный».
Argo CD: Application
scorer-dev— Degraded? Sync failed?Если Synced:
kubectl get pods -n ml-dev— CrashLoopBackOff?Logs: OOM?
Model not found s3://...? Feature store connection refused?Grafana: spike 5xx с 09:00 — correlates with deploy? rollback via Git revert + Argo sync
Если 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».