GPU Operator#
GPU Operator - инструмент, который декларативно разворачивает и сопровождает полный GPU-стек в Kubernetes: Container Toolkit, device-plugin, GPU Feature Discovery, MIG manager, метрики и т.п.
Основные задачи и возможности
Приводит GPU-узлы к рабочему состоянию «GPU готов для pod» (end-to-end lifecycle).
Разворачивает device-plugin (ресурс
nvidia.com/gpu), GPU Feature Discovery (метки узлов с GPU hardware), MIG manager, DCGM Exporter (метрики).Управляет обновлениями и согласованностью версий компонентов GPU-стека через
values/CR.
Примечание
GPU Operator устанавливается по умолчанию с компонентом AI-system.
Конфигурация values#
Параметры GPU Operator можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».
-
psa — настройки Pod Security Admission для соответствия политикам безопасности
sandboxWorkloads — конфигурация для изолированных рабочих нагрузок (sandbox)
hostPaths — пути к файловой системе хоста для компонентов оператора
daemonsets — общие настройки DaemonSet для всех управляемых pod
operator — настройки самого оператора GPU как контроллера Kubernetes
driver — конфигурация установки и управления драйвером NVIDIA
toolkit — параметры NVIDIA Container Toolkit для работы с GPU в контейнерах
devicePlugin — настройки плагина устройства Kubernetes для экспозиции ресурсов GPU
dcgmExporter — конфигурация экспортера метрик DCGM для Prometheus
gfd — настройки GPU Feature Discovery для автоматического лейблинга узлов
migManager — управление конфигурацией MIG на узлах с поддержкой
nodeStatusExporter — экспортер статуса GPU-узлов для оператора
gds — параметры GPUDirect Storage для ускоренного доступа к данным
gdrcopy — настройки GDRCopy для быстрого копирования между GPU и памятью
vgpuManager — конфигурация менеджера vGPU для виртуализации графических ресурсов
vfioManager — настройки VFIO для безопасного доступа GPU в виртуальные машины
kataManager — интеграция с Kata Containers для изолированных GPU-воркфлоу
sandboxDevicePlugin — плагин устройства для sandbox-окружений (KubeVirt и др.)
ccManager — управление функциями конфиденциальных вычислений (Confidential Computing)
node-feature-discovery — встроенная конфигурация подчарта Node Feature Discovery
nfd — параметры интеграции с Node Feature Discovery#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание правил |
|
psa — настройки Pod Security Admission для соответствия политикам безопасности#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение поддержки |
|
cdi — включение поддержки Container Device Interface#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация |
|
sandboxWorkloads — конфигурация для изолированных рабочих нагрузок (sandbox)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Разрешение запуска рабочих нагрузок в изолированных sandbox-окружениях |
|
|
Тип рабочей нагрузки по умолчанию: |
|
hostPaths — пути к файловой системе хоста для компонентов оператора#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к корневой файловой системе хоста для компонентов, требующих chroot-доступа (MIG Manager, Toolkit) |
|
|
Корневой каталог установки драйвера, где размещаются библиотеки, конфигурационные и исполняемые файлы |
|
daemonsets — общие настройки DaemonSet для всех управляемых pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки, добавляемые ко всем |
|
|
Аннотации для |
|
|
Класс приоритета для pod оператора, обеспечивающий вытеснение менее критичных воркфлоу |
|
|
Допуски для размещения pod оператора на узлах с GPU, включая узлы с taint |
|
|
Стратегия обновления pod: |
|
|
Максимальное количество узлов, на которых одновременно может происходить обновление pod (абсолютное число или процент) |
|
validator — параметры контейнера валидации установки GPU#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полный путь к репозиторию образа контейнера валидации, с поддержкой шаблонов Helm |
|
|
Имя образа для контейнера валидации, проверяющего корректность установки GPU |
|
|
Версия образа валидатора. При отсутствии используется версия чарта ( |
Отсутствует |
|
Политика получения образа: |
|
|
Список секретов для аутентификации в приватных реестрах при загрузке образа валидатора |
|
|
Переменные окружения для контейнера валидации, полезные для кастомизации проверок |
|
|
Дополнительные аргументы командной строки для тонкой настройки поведения валидатора |
|
|
Лимиты и запросы ресурсов CPU/памяти для pod валидации |
|
|
Переменные окружения специфичные для плагина валидации внутри контейнера |
|
operator — настройки самого оператора GPU как контроллера Kubernetes#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Репозиторий образа оператора GPU с поддержкой шаблонов Helm для гибкой настройки |
|
|
Имя образа контроллера оператора, управляющего жизненным циклом компонентов GPU |
|
|
Версия образа оператора. По умолчанию используется версия чарта |
Отсутствует |
|
Политика загрузки образа оператора для контроля обновлений и кеширования |
|
|
Секреты для доступа к приватным реестрам при загрузке образа оператора |
|
|
Класс приоритета для pod оператора, критичного для работы всего кластера GPU |
|
|
Имя |
|
|
Использование Driver Toolkit для сборки драйверов в среде OCP |
|
|
Удаление |
|
|
Автоматическое обновление CRD при обновлении чарта, требует флага |
|
|
Конфигурация init-контейнера для предварительной подготовки окружения оператора |
|
|
Допуски для размещения оператора на мастер/control-plane узлах при необходимости |
|
|
Аннотации для pod оператора, например |
|
|
Правила аффинити для предпочтительного размещения оператора на управляющих узлах |
|
|
Формат временных меток в логах оператора: |
|
|
Уровень детализации логирования: |
|
|
Режим разработки для оператора, меняющий формат логов и уровень вывода по умолчанию |
|
|
Максимальное использование CPU для pod оператора, предотвращающее исчерпание ресурсов узла |
|
|
Лимит памяти для оператора, важный для стабильности в условиях нехватки ресурсов |
|
|
Гарантированное выделение CPU для запуска оператора |
|
|
Гарантированный объем памяти для стабильной работы оператора |
|
mig — стратегия управления Multi-Instance GPU#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Стратегия управления MIG: |
|
driver — конфигурация установки и управления драйвером NVIDIA#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение автоматической установки драйвера NVIDIA через оператор |
|
|
Использование |
|
|
Создание CR драйвера по умолчанию при включенном управлении через CRD |
|
|
Тип драйвера: |
|
|
Селектор узлов для применения CR драйвера к определенным узлам кластера |
|
|
Тип модуля ядра: |
|
|
Использование предварительно скомпилированных пакетов драйвера (находится на стадии технологического превью) |
|
|
Реестр для образа драйвера NVIDIA |
|
|
Имя образа с драйвером NVIDIA |
|
|
Версия драйвера для установки, должна соответствовать поддерживаемым ядрам ОС |
|
|
Политика загрузки образа драйвера |
|
|
Секреты для доступа к приватному реестру с образом драйвера |
|
|
Задержка перед первой проверкой готовности драйвера, учитывающая время инициализации |
|
|
Интервал между повторными проверками |
|
|
Тайм-аут одной проверки, увеличенный для учета длительных операций |
|
|
Максимальное количество неудачных проверок перед пометкой pod как |
|
|
Включение поддержки RDMA для высокоскоростной межпроцессной коммуникации через GPU |
|
|
Использование MOFED-драйверов хоста вместо установки внутри контейнера |
|
|
Глобальный переключатель автоматического обновления драйвера на узлах |
|
|
Максимальное количество узлов, обновляемых параллельно ( |
|
|
Допустимый процент или количество узлов, которые могут быть недоступны во время обновления |
|
|
Тайм-аут ожидания завершения pod/задач перед продолжением обновления драйвера |
|
|
Селектор для фильтрации pod, которых необходимо дождаться перед обновлением |
Отсутствует |
|
Принудительное удаление pod с GPU при невозможности корректного завершения |
|
|
Тайм-аут на ожидание завершения pod перед принудительным удалением |
|
|
Разрешение удаления pod с ephemeral storage ( |
|
|
Включение Kubectl |
|
|
Принудительный |
|
|
Селектор для исключения определенных pod из процедуры |
Отсутствует |
|
Тайм-аут операции |
|
|
Разрешение удаления pod с |
|
|
Репозиторий образа менеджера драйверов |
|
|
Имя образа менеджера драйверов |
|
|
Версия менеджера драйверов, совместимая с текущей версией оператора |
|
|
Политика загрузки образа менеджера драйверов |
|
|
Переменные окружения для менеджера драйверов |
|
|
Дополнительные переменные окружения для контейнера драйвера |
|
|
Ресурсные лимиты для pod драйвера |
|
|
Имя |
Отсутствует |
|
Имя секрета или |
Отсутствует |
|
Имя секрета с лицензионными данными для vGPU-функциональности |
Отсутствует |
|
Включение NVIDIA Licensing Service для централизованного управления лицензиями |
|
|
Конфигурация топологии vGPU для оптимизации размещения виртуальных инстансов |
Отсутствует |
|
Имя |
Отсутствует |
|
Имя секрета, переменные из которого будут переданы как |
Отсутствует |
toolkit — параметры NVIDIA Container Toolkit для работы с GPU в контейнерах#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение NVIDIA Container Toolkit для поддержки GPU в контейнерах |
|
|
Репозиторий образа Container Toolkit |
|
|
Имя образа Container Toolkit |
|
|
Версия Container Toolkit |
|
|
Политика загрузки образа Container Toolkit |
|
|
Секреты для доступа к приватному реестру |
|
|
Переменные окружения для контейнера Container Toolkit |
|
|
Лимиты ресурсов для pod Container Toolkit |
|
|
Каталог установки Container Toolkit на хосте, должна совпадать с путями в контейнерах |
|
devicePlugin — настройки плагина устройства Kubernetes для экспозиции ресурсов GPU#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение плагина устройства Kubernetes для экспозиции ресурсов GPU |
|
|
Репозиторий образа K8s-device-plugin |
|
|
Имя образа плагина устройства |
|
|
Версия плагина устройства |
|
|
Политика загрузки образа плагина |
|
|
Секреты для приватного реестра |
|
|
Дополнительные аргументы командной строки для плагина |
|
|
Переменные окружения для контейнера плагина |
|
|
Ресурсные лимиты для pod плагина |
|
|
Создание нового |
|
|
Имя существующего или создаваемого |
Отсутствует |
|
Имя конфигурации по умолчанию внутри |
Отсутствует |
|
Данные для создаваемого |
|
|
Корневой путь MPS (Multi-Process Service) на хосте для совместного использования GPU |
|
dcgm — параметры standalone DCGM hostengine для мониторинга#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
|
Репозиторий образа DCGM |
|
|
Имя образа DCGM |
|
|
Версия DCGM |
|
|
Политика загрузки образа |
|
|
Аргументы командной строки для процесса DCGM |
|
|
Переменные окружения для контейнера DCGM |
|
|
Лимиты ресурсов для pod DCGM |
|
dcgmExporter — конфигурация экспортера метрик DCGM для Prometheus#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение экспортера метрик DCGM для Prometheus |
|
|
Репозиторий образа экспортера |
|
|
Имя образа экспортера |
|
|
Версия экспортера |
|
|
Политика загрузки образа |
|
|
Переменные окружения для контейнера экспортера |
|
|
Лимиты ресурсов для pod экспортера |
|
|
Использование PID пространства имен хоста для сбора метрик процессов |
|
|
Политика внутреннего трафика сервиса: |
|
|
Включение |
|
|
Интервал сбора метрик экспортером |
|
|
Сохранение оригинальных меток метрик при скрейпинге |
|
|
Дополнительные метки для |
|
|
Правила переименования/фильтрации метрик на этапе сбора |
|
gfd — настройки GPU Feature Discovery для автоматического лейблинга узлов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение GPU Feature Discovery для автоматического добавления меток на узлы с GPU |
|
|
Репозиторий образа GFD |
|
|
Имя образа GFD |
|
|
Версия GFD |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера GFD |
|
|
Лимиты ресурсов для pod GFD |
|
migManager — управление конфигурацией MIG на узлах с поддержкой#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение менеджера конфигурации MIG для автоматического применения профилей |
|
|
Репозиторий образа MIG |
|
|
Имя образа менеджера MIG |
|
|
Версия менеджера MIG |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера менеджера |
|
|
Лимиты ресурсов для pod менеджера |
|
|
Имя конфигурации MIG по умолчанию из |
|
|
Создание нового |
|
|
Имя существующего или создаваемого |
Отсутствует |
|
Данные для создаваемого |
|
|
Имя |
Отсутствует |
nodeStatusExporter — экспортер статуса GPU-узлов для оператора#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение экспортера статуса узлов для оператора |
|
|
Репозиторий образа экспортера |
|
|
Имя образа экспортера |
|
|
Версия образа, по умолчанию используется версия чарта |
Отсутствует |
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Лимиты ресурсов для pod экспортера |
|
gds — параметры GPUDirect Storage для ускоренного доступа к данным#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение GPUDirect Storage для прямого доступа GPU к хранилищам данных |
|
|
Репозиторий образа |
|
|
Имя образа GDS |
|
|
Версия GDS |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера GDS |
|
|
Аргументы командной строки для процесса GDS |
|
gdrcopy — настройки GDRCopy для быстрого копирования между GPU и памятью#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение GDRCopy для ускоренного копирования между GPU и системной памятью |
|
|
Репозиторий образа |
|
|
Имя образа GDRCopy |
|
|
Версия GDRCopy |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера |
|
|
Аргументы командной строки |
|
vgpuManager — конфигурация менеджера vGPU для виртуализации графических ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение менеджера vGPU для виртуализации графических ресурсов |
|
|
Репозиторий образа |
Отсутствует |
|
Имя образа менеджера |
|
|
Версия менеджера |
Отсутствует |
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера |
|
|
Лимиты ресурсов для pod |
|
|
Репозиторий образа менеджера драйверов для vGPU |
|
|
Имя образа менеджера драйверов |
|
|
Версия менеджера драйверов |
|
|
Политика загрузки образа |
|
|
Переменные окружения для менеджера драйверов |
|
vgpuDeviceManager — управление устройствами vGPU в кластере#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение менеджера устройств vGPU |
|
|
Репозиторий образа |
|
|
Имя образа менеджера устройств |
|
|
Версия менеджера |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера |
|
|
Имя |
Отсутствует |
|
Имя конфигурации по умолчанию внутри |
|
vfioManager — настройки VFIO для безопасного доступа GPU в виртуальные машины#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение менеджера VFIO для безопасного доступа GPU в виртуальные машины |
|
|
Репозиторий образа CUDA для VFIO |
|
|
Имя образа |
|
|
Версия образа |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера |
|
|
Лимиты ресурсов для pod |
|
|
Репозиторий образа менеджера драйверов для VFIO |
|
|
Имя образа менеджера драйверов |
|
|
Версия менеджера драйверов |
|
|
Политика загрузки образа |
|
|
Переменные окружения для менеджера драйверов |
|
kataManager — интеграция с Kata Containers для изолированных GPU-воркфлоу#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение интеграции с Kata Containers для изолированных рабочих нагрузок с GPU |
|
|
Каталог на хосте для артефактов |
|
|
Список |
|
|
Репозиторий образа |
|
|
Имя образа менеджера Kata |
|
|
Версия менеджера |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения для контейнера |
|
|
Лимиты ресурсов для pod |
|
sandboxDevicePlugin — плагин устройства для sandbox-окружений (KubeVirt и др.)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение плагина устройства для sandbox-окружений (KubeVirt и др.) |
|
|
Репозиторий образа плагина |
|
|
Имя образа |
|
|
Версия плагина |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Аргументы командной строки для плагина |
|
|
Переменные окружения для контейнера |
|
|
Лимиты ресурсов для pod |
|
ccManager — управление функциями конфиденциальных вычислений (Confidential Computing)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение менеджера конфиденциальных вычислений (Confidential Computing) |
|
|
Режим работы по умолчанию: |
|
|
Репозиторий образа |
|
|
Имя образа менеджера |
|
|
Версия менеджера |
|
|
Политика загрузки образа |
|
|
Секреты для приватного реестра |
|
|
Переменные окружения, включая список ID устройств с поддержкой CC |
|
|
Лимиты ресурсов для pod |
|
node-feature-discovery — встроенная конфигурация подчарта Node Feature Discovery#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Класс приоритета для pod NFD |
|
|
Включение |
|
|
Количество реплик |
|
|
Имя |
|
|
Создание |
|
|
Имя |
|
|
Создание |
|
|
Допуски для рабочих узлов NFD, включая размещение на мастер-узлах и узлах с GPU |
|
|
Список классов PCI устройств для обнаружения ( |
|
|
Поля устройств для добавления в метки ( |
|
|
Имя |
|
|
Создание |
|
|
Дополнительные пространства имен для меток, например, |
|