Настройка рабочей (worker) ноды Kubernetes для работы с GPU Nvidia

Статья-заметка по настройке рабочей ноды (worker) Kubernetes 1.27.1 для работы с GPU NVIDIA. Bare-metall, Alma Linux 9 (RHEL 9), Nvidia RTX 3080.

Поддерживаются видеокарты GTX 9xx и выше.

Подготовка и настройка драйверов (опционально)

Внимание! Отключите UEFI SecureBoot в BIOS.

Если после выполнения команды будет ошибка, то требуется установить драйвера.

Установка компонентов NVIDIA на рабочей ноде (worker)

Если при выполнении nvidia-ctk будет ошибка, необходимо проверить предыдущий пункт про драйвера. Что-то не так. Если всё ок, можно идти дальше.

Далее требуется отредактировать конфиг-файл containerd. Вот готовый patch файл.

Nvidia заменяет собой Runc, что позволяет шарить 1 GPU на множество контейнеров (не подов) (до 32-х).

Развертывание Nvidia плагина в кластере

Выполнить на control-plane

Для теста работоспособности можно выполнить следующее:

В логах не должно быть ошибок. CUDA тест должен выполниться успешно. Не забудьте удалить pod.

И еще есть приятная информация — т.к мы подменяем runc на форк от Nvidia, то есть возможность делить 1 GPU на множество подов. Официальное число — 1 GPU делится максимум до 32 подов. Я проверял работу 1 GPU на 2 пода. Ресурс GPU делится равномерно.

Оставьте комментарий