Большой шаг для AI/ML нагрузок: kube-scheduler теперь умеет планировать группы подов как единое целое.
Когда запускаете ML-джобу на 8 воркеров — scheduler планирует каждый под отдельно. Результат: 5 подов запустились, 3 ждут ресурсов. Джоба не работает, но ресурсы заняты. Deadlock.
Решение — новый Workload API + Gang Scheduling:
apiVersion: scheduling.k8s.io/v1alpha1
kind: Workload
metadata:
name: training-job
spec:
podGroups:
- name: workers
policy:
gang:
minCount: 4 # все 4 или никто
Как работает gang scheduling:
1. Поды блокируются, пока не наберётся minCount
2. Scheduler ищет места для всей группы
3. Нашёл для всех → все стартуют одновременно
4. Не нашёл за 5 минут → все отклоняются и идут обратно в очередь
➡️ Блог разработчиков
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии