Linux
如何使用 Puppet 檢測 NVIDIA GPU
我有一些任務只想在具有 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']
來控制您的操作。