<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 運行在一個節點上,它需要知道這個節點應該應用了哪些類。 例如,如果這是一個 web 服務器節點,它可能需要包含一個 apache 類。 將類映射到節點的一種簡單方法是在配置清單里聲明,例如下面是一個 nodes.pp 文件的例子: ``` node web1 { include apache } ``` 另外,你可以使用 **外部節點分類器**(**external node classifier,ENC**)來實現這個工作。 一個外部節點分類器是任何可執行程序,它可以接受一個節點的名稱,并返回該節點的類列表。 例如,這可能是一個簡單的 shell 腳本, 或者是對一個可以決定如何映射類到節點的更復雜的程序或 API 的封裝。 #### 準備工作 在你的 puppet.conf 配置文件中設置如下的參數: ``` [master] external_nodes = /usr/local/bin/puppet_node_classifier node_terminus = exec ``` #### 操作步驟 1. 創建如下的簡單腳本 /usr/local/bin/puppet_node_classifier: ``` #!/bin/bash if [ "$1" == "cookbook.bitfieldconsulting.com" ]; then cat &lt;&lt;"END" --- classes: - admin::sudoers - admin::exim - puppet - nagios::target environment: production parameters: location: Bitfield HQ END else exit 1 fi ``` 2. 為該腳本添加可執行權限: ``` # chmod 755 /usr/local/bin/puppet_node_classifier ``` 3. 運行 Puppet: ``` # puppet agent --test info: Retrieving plugin info: Caching catalog for cookbook.bitfieldconsulting.com info: Applying configuration version '1299677816' notice: Finished catalog run in 1.19 seconds ``` #### 工作原理 Puppet 調用你在 puppet.conf 中由參數 external_nodes 指定的腳本, 并傳遞節點的名稱作為命令行參數。在本例的腳本中,我們檢查這個參數, 如果它與 cookbook.bitfieldconsulting.com 相同,將為其輸出一個 Puppet 所需的 YAML 格式的類列表。 否則,此腳本將返回退出狀態碼 1(向 Puppet 指出該節點沒有被發現)。 該腳本還設置了 environment 的值(參見 [使用不同的環境](#ch02sec15) 一節中關于這個參數的解釋)。 同時將變量 location 設置成了 Bitfield HQ?—?此變量是個自定義變量,對于 Puppet 并無特殊含義, 但是由于在 ENC 中定義的變量是頂級范圍的變量,可以在你的配置清單里引用此處定義的變量, 所以,例如你可以使用它決定 DNS 解析器的設置。你可以在此設置任何你需要的變量。 顯然,這個腳本并不十分有用,因為它只是輸出了一個預先確定的類列表。 一個更復雜的腳本可能會檢查數據庫,從中查找節點所需的類列表, 或從一個哈希或外部文本文件中查找節點所需的類列表。 我希望,這個例子足以讓你開始寫出自己的更復雜的外部節點分類器。 有關外部節點分類器的詳細信息,請參考: [http://docs.puppetlabs.com/guides/external_nodes.html](http://docs.puppetlabs.com/guides/external_nodes.html) 。 #### 更多用法 使用外部分類器的主要用途是使 Puppet 可以連接 LDAP 目錄服務。 許多大型組織都有個 LDAP 基礎設施,你可以設置 Puppet,使它可以從 LDAP 目錄服務獲取信息, 并且其他 LDAP 客戶也可以通過 Puppet 獲得由其管理的節點信息。 欲了解更多有關如何做到這一點的詳細信息,請訪問 “Puppet 和 LDAP” 頁面: [http://projects.puppetlabs.com/projects/puppet/wiki/LDAP_Nodes](http://projects.puppetlabs.com/projects/puppet/wiki/LDAP_Nodes) 。 此功能也可用于 Puppet Dashboard 和 Foreman 通過 Web 界面管理節點和類之間的關系?—?他們將以外部節點分類器來處理。
                  <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>

                              哎呀哎呀视频在线观看