Kubernetes 1.37: Интеграция gang scheduling и нюансы активации

Релиз Kubernetes 1.37 ознаменовался важным событием: функция gang scheduling, позволяющая группировать поды для совместного размещения, стала частью ядра kube-scheduler в статусе бета-версии. Однако, несмотря на первоначальные сообщения в СМИ, активация этой функции по умолчанию выключена и требует ручной настройки.

28 августа издание Tech Times опубликовало заголовок, который создал впечатление, что gang scheduling и оптимизация простоя GPU включены по умолчанию. Одиннадцать дней спустя разработчики функции в официальном блоге проекта уточнили, что все бета- и альфа-функции в этом релизе отключены по умолчанию и требуют ручного включения. Это расхождение между новостными заголовками и официальной документацией является ключевым аспектом данного обновления.

История и текущий статус gang scheduling

Концепция группового размещения подов была впервые описана в 2018 году, и тогда же было принято решение о её реализации вне основного ядра Kubernetes. В течение последующих восьми лет эту функциональность развивали такие проекты, как Volcano, YuniKorn, Kueue, а также различные сторонние плагины. С выходом Kubernetes 1.37 групповое размещение стало внутренней бета-функцией kube-scheduler, но его активация остаётся на усмотрение пользователя.

Различия между внутренним и внешним планировщиками

Некоторые обзоры ошибочно предполагают, что включение бета-версии gang scheduling в ядро устраняет необходимость во внешних планировщиках. Однако, согласно документу KEP (Kubernetes Enhancement Proposal), ядро Kubernetes теперь отвечает только за размещение группы подов. Управление очередями и квотами по-прежнему остаётся задачей внешних планировщиков, таких как Kueue и Volcano. Это чётко указано в официальной документации.

Рекомендации для различных специалистов

  • Для инженеров: Рекомендуется изучить детальный анализ работы кластера с GPU и внешним планировщиком, чтобы эффективно использовать новые возможности.
  • Для администраторов платформы: Важно ознакомиться со списком feature gates, которые необходимо активировать для пользователей, чтобы включить gang scheduling.
  • Для руководителей: Представлены критерии, которые помогут принять обоснованное решение о целесообразности отказа от использования Volcano после обновления, учитывая новые возможности ядра Kubernetes.