Puppet
過濾人偶外掛同步
有沒有一種方法可以過濾正在同步的外掛?我從 forge 下載了一些新模組(puppetboard、puppetdb、python)。這些模組包括外掛,它們也只在 puppet master 上需要,我的任何客戶端都不需要外掛。
不幸的是,這些模組中的 facter 外掛導致 puppet 客戶端在一些我無法升級到最新版本的 ruby/puppet/facter 的舊系統上失敗。這些較舊的系統執行的是舊版軟體,如果沒有大量令人痛苦的黑客攻擊,這些舊版軟體就無法在較新的作業系統版本上執行。我的所有其餘外掛和自定義事實都可以正常工作。所以我想保持外掛同步,但排除這些破壞舊系統的事實。
有沒有人想出一個部分外掛同步的好方法?我在搜尋中沒有找到任何解決方案。
沒有辦法過濾外掛。
但是正如您在評論中所說,您需要編寫事實/類型來處理它們正在執行的作業系統。對於您提前退出的類型和提供者。
對於事實,您可以使用confine。
Puppet 本身不支持過濾要同步的外掛列表。
pluginsync_filter
但是,您可以使用CERN的更新檔修補 puppet 以支持此功能。之後,您可以通過 Hiera 將這樣的模組列入白名單:
pluginsync_filter_enable: true pluginsync_filter: - whitelisted - module - names
注意: AFAIK 這個更新檔可能不被公開支持,所以如果你決定使用它,你就得靠自己了。