Configuration
確保具有特定事實的所有 puppet 節點的列表是最新的
我
puppet
用來管理大約十幾個節點。其中一台伺服器有一個監控工具,需要所有節點的列表和一些基本規格。我想利用
puppet
來確保列表包括每個目前節點,並且基本規範是最新facts
的(通過節點的最新facter
)。我的第一個想法是在
/var/lib/puppet/yaml/facts
此基礎上解析和創建我需要的文件。不是最優雅的想法,但它可能會奏效。有人對如何解決這個問題有更優雅的建議嗎?
出口資源。將使這相對容易。
它可以像這樣簡單。但是您可以使用模板或片段或許多其他東西在系統上生成一個文件,其中包含您想要的所有節點的所有數據。
這是我用來保存所有節點列表以及facter是否檢測到它們是否為虛擬機的範例。
@@file {"/srv/puppet_nodes/hosts.d/$::clientcert": content => join( [$::clientcert, "%$::lsbdistid%", "%$::lsbdistcodename%", "%$::virtual%", "\n"],' '), tag => 'nodestats', } # files will be saved on the filesystem on destnode.example.org if $::clientcert == 'destnode.example.org' { File <<| tag == 'nodestats' |>> }