JobSet#
JobSet — нативный API Kubernetes для управления группой Job как единым целым. Предоставляет унифицированный интерфейс для развертывания рабочих нагрузок высокопроизводительных вычислений (High-performance computing, HPC), например, MPI, и задач обучения AI/ML (PyTorch, JAX, TensorFlow) в Kubernetes.
Основные функции:
Моделирование распределенной нагрузки как группы
Jobс возможностью задания различных шаблонов pod для разных групп (лидер, воркеры, parameter-серверы).Автоматическое управление headless-сервисами через
IndexedJobsс созданием стабильных имен хостов pod и настройкой DNS-записей для сетевой связности.Настраиваемые политики сбоев (
failurePolicy) с заданием максимального количества перезапусков и пересозданием всего JobSet при сбое любого дочернегоJobдля восстановления с контрольной точки.Настраиваемые политики успеха (
successPolicy) с возможностью отмечать JobSet как завершенный при выполнении условий для конкретныхReplicatedJobs(операторыAny/All), оптимизируя высвобождение ресурсов.Эксклюзивное размещение по топологическим доменам через аннотации, обеспечивающее соотношение 1:1 между дочерним
Jobи топологическим доменом (стеллаж, зона), гарантируя изоляцию вычислительных ресурсов.Последовательный запуск (Startup Sequencing)
ReplicatedJobsс настройкой порядка активации (например, лидер перед воркерами).Интеграция с Kueue для управления очередями, многопользовательского режима и совместного использования ресурсов.
Поддержка пользовательских поддоменов в спецификации для гибкой настройки сетевой топологии.