Для мониторинга использования pod gpu с помощью cadvisor нам нужно смонтировать доступ к пути к библиотеке NVML (например, / usr / lib / nvidia-418) к cadvisor.
В настоящее время я создаю набор демонов на k8sкластер для развертывания cadvisor на каждом узле.
Однако мне нужно поддерживать несколько версий пути к библиотеке NVML. Например, некоторые серверы используют / usr / lib / nvidia-418, тогда как другие используют / usr / lib / nvidia-410. Непосредственное указание пути nvml становится невозможным.
Итак, какова лучшая практика в этом случае?
У меня есть некоторые идеи, но я не уверен, что является лучшим.
- делить серверы по пути nvml, все серверы в одном кластере используют одну и ту же версию библиотеки nvml.
2.создать программную ссылку на каждом сервере, связать / usr / lib / nvidia-418 / * с/ usr / lib / nvmlpath.
3.добавить задание инициализации перед запуском cadvisor, создать мягкую ссылку в задании. Но я не уверен, что это будет работать.
4.добавить коляскуcadvisor для создания программной ссылки, но она не может гарантировать завершение коляски до того, как cadvisor получит путь nvml-пути.
построить образ докера на основе cadvisor, добавить процесс мягких ссылок в CMD.