<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 使用模塊 你會對自己編寫的 Puppet 代碼感到羞愧嗎?其他人看你的代碼時會有恐懼感嗎? 為了使你的 Puppet 配置清單更清晰且易于維護,一件最重要的事情就是將這些配置清單組織成 **模塊(modules)**。 模塊是對相關事物進行分組的一種簡單方式;例如,一個 webserver 模塊可能包含作為一個 Web 服務器所需的一切,包括 Apache 配置文件,虛擬主機配置模板以及部署這些所需的 Puppet 代碼。 將配置清單拆分成模塊易于代碼的重用和共享;也是一種組織配置清單的最合乎邏輯的方式。 在本節中,我們將會創建一個管理 memcached 的模塊,memcached 是一個 Web 應用程序常用的內存緩存系統。 #### 操作步驟 1. 在 puppet.conf 中查找你的模塊路徑,其默認值是 /etc/puppet/modules。 如果你像我前面建議的那樣將 Puppet 配置清單納入了版本控制, 那么就使用你的工作副本中的 modules 目錄,之后再由他部署到 /etc/puppet/modules。 ``` # puppet --genconfig |grep modulepath modulepath = /etc/puppet/modules:/usr/share/puppet/modules ``` 在模塊路徑下創建一個名為 memcached 的子目錄: ``` # cd /etc/puppet/modules # mkdir memcached ``` 在此目錄中,創建 manifests 和 files 兩個子目錄: ``` # cd memcached # mkdir manifests files ``` 在 manifests 目錄下,以如下內容創建 init.pp 文件: ``` class memcached { package { "memcached": ensure =&gt; installed, } file { "/etc/memcached.conf": source =&gt; "puppet:///modules/memcached/memcached.conf", } service { "memcached": ensure =&gt; running, enable =&gt; true, require =&gt; [ Package["memcached"], File["/etc/memcached.conf"] ], } } ``` 切換到 files 目錄,以如下內容創建 memcached.conf 文件: ``` -m 64 -p 11211 -u nobody -l 127.0.0.1 ``` 2. 為了使用你的新模塊,你的節點定義中添加如下的代碼: ``` node cookbook { include memcached } ``` 3. 運行 Puppet 檢測新配置: ``` # puppet agent --test info: Retrieving plugin info: Caching catalog for cookbook.bitfieldconsulting.com info: Applying configuration version '1300361964' notice: /Stage[main]/Memcached/Package[memcached]/ensure: ensure changed 'purged' to 'present' ... info: /Stage[main]/Memcached/File[/etc/memcached.conf]: Filebucketed /etc/memcached.conf to puppet with sum a977521922a151 c959ac953712840803 notice: /Stage[main]/Memcached/File[/etc/memcached.conf]/content: content changed '{md5}a977521922a151c959ac953712840803' to '{md5} f5c0bb01a24a5b3b86926c7b067ea6ba' notice: Finished catalog run in 20.68 seconds ``` 4. 檢查新配置的服務是否正在運行: ``` # service memcached status * memcached is running ``` #### 工作原理 模塊有特定的目錄結構。并非所有子目錄都要存在,但如果存在就該以如下的布局方式組織: ``` MODULEPATH/ `-- MODULE_NAME |-- files/ |-- templates/ |-- manifests/ |-- ... `-- README ``` 在 memcached.pp 文件中定義了 memcached 類, 它可以被 Puppet 自動導入。現在將其包含到節點中: ``` include memcached ``` 在 memcached 類中,引用了 memcached.conf 文件: ``` file { "/etc/memcached.conf": source => "puppet:///modules/memcached/memcached.conf", } ``` 正如我們在 [配置 Puppet 的文件服務器](#ch01sec04) 一節講到的, 上面代碼中的 source 參數告訴 Puppet 在如下的路徑尋找文件: ``` MODULEPATH/ memcached/ files/ memcached.conf ``` #### 更多用法 學習喜歡模塊的組織方式,使用模塊將使你的 Puppet 管理生活便得更輕松。模塊并不復雜。 然而,實踐和經驗會幫助你判斷何時應該將事物劃分并組織成模塊,以及如何更好的安排你的模塊結構。 如下所述的一些技巧會對你有所幫助。 ##### 模板 模板作為模塊的一部分,如果你需要使用它,那么其放在 MODULE_NAME/templates 目錄,參考如下的用法: ``` file { "/etc/memcached.conf": content => template("memcached/memcached.conf"), } ``` Puppet 會在如下目錄搜索模板文件: ``` MODULEPATH/ memcached/ templates/ memcached.conf ``` ##### Fact、函數、類型和提供者 模板中也可以包含自定義 fact、自定義函數、自定義資源類型和自定義提供者。 關于這些內容的詳細信息請參閱 [外部工具和 Puppet 的生態系統](#chapter09) 一章的內容。 ##### puppet-module 你也可以使用 puppet-module 工具為一個新模塊創建目錄布局,而不是使用手工方式。 請參考第 9 章的 [使用公共模塊](#ch09sec08) 一節獲得更詳細的信息。 ##### 第三方模塊 你可以下載由其他人開發的模塊,并在你的配置清單中使用這些模塊, 就像這些模塊是你自己寫的一樣。 請參考第 9 章的 [使用公共模塊](#ch09sec08) 一節獲得更詳細的信息。 ##### 模塊的組織方法 有關如何組織模塊的更多信息,參見 Puppet Labs 站點:http://docs.puppetlabs.com/guides/modules.html 。 #### 參見本書 * 第 1 章的 [配置 Puppet 的文件服務器](#ch01sec04) 一節 * 第 9 章的 [創建 Facter 的自定義 fact](#ch09sec01) 一節 * 第 9 章的 [使用公共模塊](#ch09sec08) 一節 * 第 9 章的 [創建自定義的資源類型](#ch09sec10) 一節 * 第 9 章的 [創建自定義的提供者](#ch09sec11) 一節
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看