какова наилучшая практика мониторинга серверов с другим драйвером графического процессора с помощью cadvisor

Для мониторинга использования pod gpu с помощью cadvisor нам необходимо смонтировать путь доступа к библиотеке NVML (например, /usr/lib/nvidia-418) к cadvisor.

В настоящее время я создаю набор демонов в кластере k8s для развертывания cadvisor на каждом узле.

Однако мне нужно поддерживать несколько версий пути к библиотеке NVML. Например, некоторые серверы используют /usr/lib/nvidia-418, а другие — /usr/lib/nvidia-410. Непосредственное указание пути nvml становится невозможным.

Итак, какова наилучшая практика в этом случае?

У меня есть несколько идей, но я не уверен, что лучше.

  1. разделите серверы по пути nvml, все серверы в одном кластере используют одну и ту же версию библиотеки nvml.

2. Создайте программную ссылку на каждом сервере, свяжите /usr/lib/nvidia-418/* с /usr/lib/nvmlpath .

3. добавьте задание инициализации перед запуском cadvisor, создайте мягкую ссылку в задании. но я не уверен, что это сработает.

4. Добавьте коляску cadvisor для создания программной ссылки, но это не может гарантировать завершение коляски до того, как cadvisor получит путь пути nvml.

  1. создайте образ докера на основе cadvisor, добавьте процесс мягкой ссылки в CMD.

person curtank    schedule 25.10.2019    source источник


Ответы (1)


Я не уверен, что это лучший способ, но для того, чтобы избавить от головной боли.

я бы построил cadvisor с nvidia-docker, а затем также установил демон docker для использования nvidia-container-runtime по умолчанию.

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

person Matthew Yeung    schedule 25.10.2019