Microsoft открыла исходный код TauGrid — «швейцарский нож» для AI-нагрузок на Kubernetes
Платформенные команды, которые запускают AI-нагрузки на Kubernetes, обычно собирают пазл из нескольких компонентов вручную: система очередей, распределённый рантайм, проверки здоровья GPU, дашборды и скрипты для отправки задач. Команда Azure Kubernetes Service решила эту проблему, открыв исходный код TauGrid — единого стека, который ставится одной командой helm install.
TauGrid объединяет пять ключевых элементов: CLI-утилиту tau, управление очередями и приёмом задач через Kueue, оркестрацию Ray-кластеров через KubeRay, мониторинг GPU на уровне узлов и полную наблюдаемость за кластером и нагрузкой. Разделение ответственности чёткое: платформенная команда настраивает workspace, очереди, профили вычислений, хранилище и политики, а исследователи просто работают из репозитория и CLI, вообще не касаясь Kubernetes напрямую.
Задача описывается в файле tau.yaml — например, PyTorch-джоб на одном A100. При запуске tau run стек применяет политики платформы, формирует Kubernetes Job или KubeRay RayJob и отправляет его через Kueue. Документация описывает шесть стадий: отправка, постановка в очередь, выполнение, мониторинг, восстановление (повтор, рестарт с чекпоинта, диагностика сбоев) и сбор свидетельств — метаданных, логов, метрик, чекпоинтов и истории выполнения, что делает каждый прогон воспроизводимым и аудитируемым.
Проект написан на Go, использует Kubernetes 1.30+ с GPU-узлами, Helm 3.0+ и kubectl. Всё распространяется под лицензией MIT, контейнеры и Helm-чарты — как публичные OCI-артефакты в Microsoft Container Registry. Для команд, которые делят один кластер, TauGrid уже включает механизмы квот и приоритетов через Kueue — их задачи попадают в общую ClusterQueue, и Kubernetes размещает их на здоровых GPU.