Использование групп узлов c GPU без предустановленных драйверов
Примечание
В регионе Казахстан доступны только платформы standard-v3 (Intel Ice Lake) и standard-v3-t4i (Intel Ice Lake with T4i). Другие типы платформ, кластеры GPU и выделенные хосты недоступны.
Вы можете использовать группы узлов Managed Service for Kubernetes для рабочих нагрузок на видеопроцессорах (GPU) без предустановленных драйверов. Приложение GPU Operator
Чтобы подготовить кластер и группу узлов Managed Service for Kubernetes без предустановленных драйверов к запуску рабочих нагрузок:
Если созданные ресурсы вам больше не нужны, удалите их.
Необходимые платные ресурсы
В стоимость поддержки описываемого решения входят:
- Плата за кластер Managed Service for Kubernetes: использование мастера и исходящий трафик (см. тарифы Managed Service for Kubernetes).
- Плата за узлы кластера (ВМ): использование вычислительных ресурсов, операционной системы и хранилища (см. тарифы Compute Cloud).
- Плата за публичный IP-адрес, если он назначен узлам кластера (см. тарифы Virtual Private Cloud).
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду
yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров--folder-nameили--folder-id. -
Создайте группы безопасности для кластера Managed Service for Kubernetes и входящих в него групп узлов.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Создайте кластер Managed Service for Kubernetes любой подходящей конфигурации. При создании укажите группы безопасности, подготовленные ранее.
-
Создайте группу узлов Managed Service for Kubernetes с настройками:
- Вычислительные ресурсы — перейдите на вкладку GPU и выберите подходящую платформу.
- Не устанавливать драйверы GPU — выберите опцию.
- Группы безопасности — выберите созданные ранее группы безопасности.
- Taint-политики узла — укажите taint-политику
nvidia.com/gpu=true:NoSchedule.
-
Установите kubectl
и настройте его на работу с созданным кластером.
Требования к версиям компонентов
Начиная с версии Kubernetes 1.30 для корректной работы группы узлов с GPU без предустановленных драйверов требуются:
- GPU Operator версии
24.9.0или выше. - Драйвер NVIDIA версии
550.144.03или выше.
При использовании компонентов более старых версий могут возникнуть ошибки компиляции драйверов.
Установите GPU Operator
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите GPU Operator:
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia && \ helm repo update && \ helm install \ --namespace gpu-operator \ --create-namespace \ --set driver.version=<версия_драйвера> \ gpu-operator nvidia/gpu-operatorГде
driver.version— версия драйвера NVIDIA®. Вы можете не указывать параметр с версией драйвера, в этом случае будет установлена версия по умолчанию .Примечание
Рекомендуемые версии драйверов:
-
Для групп узлов версии Kubernetes 1.30 или выше — версия
550.144.03 или выше. -
Для групп узлов на платформе AMD EPYC™ with NVIDIA® Ampere® A100 (
gpu-standard-v3) — версия515.48.07 .
GPU Operator будет установлен с параметрами по умолчанию. Подробнее о параметрах см. в официальной документации
.Совет
Вы можете посмотреть значения параметров в конфигурационном файле
values.yamlHelm-чарта. Для этого скачайте архив Helm-чарта командойhelm pull --untar nvidia/gpu-operator. -
Проверьте правильность установки драйверов
Получите логи пода nvidia-driver-daemonset:
DRIVERS_POD_NAME="$(kubectl get pods --namespace gpu-operator | grep nvidia-driver-daemonset | awk '{print $1}')" && \
kubectl --namespace gpu-operator logs "${DRIVERS_POD_NAME}"
Они должны содержать сообщение об успешной установке драйвера, например:
Defaulted container "nvidia-driver-ctr" out of: nvidia-driver-ctr, k8s-driver-manager (init)
DRIVER_ARCH is x86_64
Creating directory NVIDIA-Linux-x86_64-<версия_драйвера>
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 <версия_драйвера>
...
Loading NVIDIA driver kernel modules...
+ modprobe nvidia
+ modprobe nvidia-uvm
+ modprobe nvidia-modeset
...
Done, now waiting for signal
Теперь вы можете запускать рабочие нагрузки с GPU согласно руководству Запуск рабочих нагрузок с GPU.
Решение проблем
Ошибки компиляции драйверов
Если при установке драйверов возникают ошибки компиляции:
-
Убедитесь, что установлен GPU Operator версии 24.9.0 или выше:
helm list -n gpu-operator -
Используйте предварительно скомпилированные драйверы:
helm upgrade gpu-operator nvidia/gpu-operator \ --namespace gpu-operator \ --set driver.usePrecompiled=true \ --set driver.version=550.144.03
Удалите созданные ресурсы
Некоторые ресурсы платные. Удалите ресурсы, которые вы больше не будете использовать, во избежание списания средств за них:
- Удалите кластер Kubernetes.
- Если вы создавали сервисные аккаунты, удалите их.