Доступно с ограничениями в редакциях: Certified Core/CSE Lite (1.73), Certified Pro/CSE Pro (1.73)
Доступно без ограничений в редакциях: Core, Ultimate/EE
Входит в расширения: Управление GPU
Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Перед включением модуля убедитесь, что ваш кластер соответствует требованиям.
Отключение модуля требует подтверждения, поскольку убирает поддержку GPU из кластера и может привести к реконфигурации оборудования.
Перед отключением удалите GPU-нагрузки с узлов. При удалении хук pre-delete удаляет все объекты PhysicalGPU в кластере и ждёт до 600 секунд, чтобы gpu-controller успел снять свои финалайзеры до удаления CRD. Если хук истёк по таймауту, проверьте объекты с зависшими финалайзерами:
d8 k get physicalgpus -ADRA-режим находится в статусе Preview: он доступен для использования, но его параметры и поведение ещё могут измениться в следующих релизах.
По умолчанию режим DRA для модуля отключён, и модуль работает в режиме Device Plugin. Рекомендуем использовать модуль в режиме DRA: для этого при применении ModuleConfig явно включите его в параметре dra. Перед включением убедитесь, что кластер соответствует требованиям для DRA-режима.
Пример включения модуля в режиме DRA:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: gpu
spec:
enabled: true
version: 1
settings:
dra:
enabled: trueТребования
К версии Kubernetes: 1.33 и выше.
К версии Deckhouse Platform: 1.75 и выше.
Параметры
Версия схемы: 1
-
-
объектsettings.draНастройки режима DRA (Dynamic Resource Allocation).
По умолчанию:
{}-
булевыйsettings.dra.allowCrossNamespaceSharing
Разрешает MPS и time-slicing разделять один GPU между рабочими нагрузками из разных неймспейсов.
По умолчанию выключено: соседи по одному shared-устройству делят MPS-сервер и неквотируемый пул памяти, поэтому сбой или неограниченная аллокация затрагивают всех на этом устройстве. Это граница арендатора и радиуса поражения, а не механизм защиты памяти — для настоящей изоляции нужны MIG-партиции либо passthrough целой карты.
Ограничение действует на уровне placement, поэтому разные MIG-партиции одной GPU остаются доступны разным неймспейсам.
Применяется на ноде: pre-bind conflict predicate отклоняет аллокацию до bind, а vendor-адаптер перепроверяет на prepare. Отказ виден как condition
BindingFailed=Trueс reasonNamespaceConflictвResourceClaim.status.devices.По умолчанию:
false -
булевыйsettings.dra.enabled
Включает режим DRA (Dynamic Resource Allocation) для управления GPU.
DRA-режим находится в статусе Preview: он доступен для использования, но его параметры и поведение ещё могут измениться в следующих релизах.
DRA — рекомендуемый способ управления GPU в этом модуле; режим включается явно, а по умолчанию модуль работает в режиме Device Plugin. В режиме DRA рабочая нагрузка запрашивает целые GPU, MIG-партиции и разделяемые части GPU через API Kubernetes
ResourceClaimвместо extended-ресурсаnvidia.com/gpu.Переключает управление GPU со стека на основе NVIDIA device plugin (NFD, GFD, nvidia-device-plugin) на режим DRA и отключает стек Device Plugin.
Требуется Kubernetes ≥ 1.34 и версия Deckhouse, включающая необходимые feature gates для DRA. Модуль никогда не включает feature gates самостоятельно: если они отсутствуют, DRA-стек не разворачивается, а модуль сообщает об этом через условие
FeatureGatesReady. Подробнее — в документации по архитектуре модуля.По умолчанию:
false
-
-
строкаsettings.logLevelУровень логирования компонентов оператора.
По умолчанию:
InfoДопустимые значения:
Trace,Debug,Info,ErrorПример:
logLevel: Info
-