Драйверы для групп нод с GPU в кластере Managed Kubernetes
Вы можете создать кластеры Managed Kubernetes на облачном сервере с GPU:
- с предустановленными драйверами — модули ядра в предустановленных драйверах зависят от архитектуры графического процессора;
- без предустановленных драйверов — вы самостоятельно выбираете и устанавливаете драйверы. Для групп нод с GPU без драйверов недоступно автоматическое масштабирование кластера.
Модули ядра в предустановленных драйверах
Модули ядра в предустановленных драйверах могут быть:
- проприетарными — используются в графических процессорах с архитектурой на базе Pascal, Maxwell и Volta;
- открытыми — используются в графических процессорах с архитектурой Turing и более поздними.
Среди доступных GPU только у графического процессора NVIDIA® GTX 1080 с архитектурой на базе Pascal проприетарные модули ядра, у остальных — открытые.
Подробнее о модулях ядра в инструкции Kernel Modules документации NVIDIA®.
Установить драйверы
Чтобы самостоятельно установить драйвер, используйте приложение NVIDIA® GPU Operator.
-
Установите менеджер пакетов Helm версии 3.7.0 и выше.
-
Добавьте репозиторий
nvidiaв Helm:helm repo add nvidia https://helm.ngc.nvidia.com/nvidia -
Обновите репозиторий
nvidiaв Helm:helm repo update -
Установите NVIDIA GPU Operator и укажите драйвер GPU нужной версии:
helm install \--namespace gpu-operator \--create-namespace \--set driver.version=<driver_version> \gpu-operator nvidia/gpu-operatorУкажите
<driver_version>— версия драйвера NVIDIA®. Можно посмотреть в строке NVIDIA GPU Driver, в таблице GPU Operator Component Matrix документации NVIDIA®. -
Чтобы проверить правильность установки NVIDIA GPU Operator и драйвера GPU, запустите GPU-приложение. Например, приложение для сложения векторов CUDA VectorAdd:
cat << EOF | kubectl create -f -apiVersion: v1kind: Podmetadata:name: cuda-vectoraddspec:restartPolicy: OnFailurecontainers:- name: cuda-vectoraddimage: "nvidia/samples:vectoradd-cuda11.2.1"resources:limits:nvidia.com/gpu: 1EOF -
Убедитесь, что приложение CUDA VectorAdd успешно завершено — статус пода должен быть
Completed:kubectl get podsВ ответе у пода
cuda-vectoraddбудет статусCompleted:NAME READY STATUS RESTARTS AGEcuda-vectoradd 0/1 Completed 0 51s