Puppet

什麼屬於 site.pp,應該從其中移出什麼?

  • April 29, 2016

到目前為止,我一直將所有內容都放在 site.pp 中。這會導致文件變得冗長且混亂。

我應該這樣做,還是應該將內容從 site.pp 移到外部文件中,然後以某種方式從 site.pp 中引用這些文件?

site.pp 中的內容很少,通常有一個更好的地方更易於管理。

  1. 單個資源(文件、服務、包、cron 條目等)都應該移動到您管理的每個組件/服務的類中。盡量將其分解為邏輯組件,例如apachemysql類而不是lamp角色類。(文件:語言:類
  2. 類應該移到模組中。模組是一種包含相關類的方法(例如apache::servicewith apache),為 Puppet 提供了一種無需載入每個文件即可有效查找類的方法,並包含相關文件和模板。然後,您的 Apache 類可能會存在/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp或類似。(文件:模組基礎知識
  3. 節點定義和類參數可以移動到 Hiera 或節點節點分類器 (ENC) 中。使用 Hiera,您可能會使用hiera_include文件:Assigning Classes to Nodes With Hiera)將類添加到節點,並使用正常的 Hiera 數據來儲存類參數(文件:Automatic Parameter Lookup)。ENC 是外部腳本,可以查詢您已有的任何數據源,或者由其他應用程序(如Foreman)提供。
  4. 資源預設值可能仍保留在 site.pp 中以應用於每個節點和類。

引用自:https://unix.stackexchange.com/questions/279893