Доступно с ограничениями в редакциях CSE Lite (1.73), CSE Pro (1.73)

Доступно без ограничений в редакциях:  EE

Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки

Модуль обеспечивает управление NVIDIA GPU в Deckhouse Kubernetes Platform. Он поддерживает два стека (режима):

  • Режим Device Plugin (по умолчанию): NFD/GFD, NVIDIA device plugin (Exclusive/TimeSlicing/MIG), менеджер MIG, DCGM/Exporter с дашбордами Grafana. Разворачивается в d8-nvidia-gpu.
  • DRA-режим (dra.enabled: true): Dynamic Resource Allocation — gpu-controller, gpu-node-agent, nvidia-adapter, DCGM/Exporter. Разворачивается в d8-nvidia-gpu. Требуется Kubernetes ≥ 1.34.

DRA-режим является экспериментальным. Не включайте его в production-кластерах.

Основные возможности

  • Автоматическая настройка containerd и NVIDIA runtime на GPU-узлах через NodeGroupConfiguration — ручная конфигурация containerd не требуется.
  • Три режима разделения GPU: Exclusive (один Pod — один GPU), TimeSlicing (несколько Pod разделяют один GPU) и MIG (аппаратное разбиение для A100/H100).
  • DRA-режим (Dynamic Resource Allocation) для точного планирования GPU с использованием Kubernetes API ResourceClaim/ResourceSlice (требуется Kubernetes ≥ 1.34).
  • Автоматическая переконфигурация MIG-профилей с управляемым drain узла и перезагрузкой при необходимости.
  • DCGM Exporter с готовыми дашбордами Grafana для мониторинга состояния GPU, загрузки и режима MIG.
  • Кастомный ресурс PhysicalGPU (DRA-режим) — инвентаризация физических GPU на узлах с PCI-данными, состоянием драйвера и возможностями разбиения.
  • Бесшовная миграция с режима Device Plugin на DRA без ручной очистки неймспейса.

Требования

  • На целевых узлах установлены драйвер NVIDIA и NVIDIA Container Toolkit (containerd/runtime настраивает этот модуль через NodeGroupConfiguration).
  • В NodeGroup заданы параметры spec.gpu (режимы: Exclusive, TimeSlicing или MIG).
  • Для DRA-режима: Kubernetes ≥ 1.34 и dra.enabled: true в ModuleConfig.

Включение DRA-режима

DRA-режим является экспериментальным. Не включайте его в production-кластерах.

Чтобы переключиться на DRA-режим, установите параметр dra.enabled: true в ModuleConfig gpu и настройте NodeGroup:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: gpu
spec:
  enabled: true
  version: 1
  settings:
    dra:
      enabled: true

Модуль автоматически удалит стек Device Plugin из d8-nvidia-gpu и развернёт DRA-стек в том же неймспейсе. Ручная очистка не требуется.

Что разворачивает модуль

Режим Device Plugin (namespace d8-nvidia-gpu):

  • Node Feature Discovery (NFD) и GPU Feature Discovery (GFD) для лейблов GPU.
  • NVIDIA device plugin с режимами Exclusive/TimeSlicing/MIG.
  • Менеджер MIG и конфигурации для GPU с поддержкой MIG.
  • DCGM Exporter и готовые дашборды Grafana по состоянию GPU.

DRA-режим (namespace d8-nvidia-gpu):

  • gpu-controller — центральный DRA-контроллер, управляет API ResourceClaim/ResourceSlice.
  • gpu-node-agent — обнаружение GPU на узле и публикация ResourceSlice.
  • nvidia-adapter — CDI-инъекция устройств в контейнеры.
  • DCGM Exporter и дашборды Grafana.

Полное описание компонентов — в конфигурации модуля и архитектуре.

Мониторинг

DCGM Exporter публикует метрики; в Grafana доступны дашборды с загрузкой GPU и состоянием MIG.