Linux

如何使用 Puppet 檢測 NVIDIA GPU

  • September 21, 2021

我有一些任務只想在具有 NVIDIA GPU 的機器上執行。Puppet 是否有一種好方法可以確定特定代理是否具有 NVIDIA GPU?我可以通過檢查 /usr/bin/nvidia-smi 是否存在來在 bash 中執行此操作,但我不確定應該如何在 Puppet 中執行此操作。此外,如果有更好的方法在 bash 中而不是這種方式,請告訴我。

您應該創建一個自定義事實來檢查是否存在/usr/bin/nvidia-smi(如果足夠的話),例如:

Facter.add(:nvidia_gpu) do
 confine :kernel => 'Linux'
 setcode do
   FileTest.executable?('/usr/bin/nvidia-smi')
 end
end

或者更徹底地檢查是否存在特定的 PCI 設備,如果它顯示為一個,則使用目錄的輸出lspci或遍歷/sys/bus/pci目錄。

在您的 Puppet 清單中,您可以使用 的值$facts['nvidia_gpu']來控制您的操作。

引用自:https://serverfault.com/questions/952825