# rpm-IVH/El/6.5/products/x86 _ 64/puppet labs-release-6-10 . no arch . rpm
在CentOS/RHEL 7:
# rpm-IVH/El/7/products/x86 _ 64/puppet labs-release-7-10 . no arch . rpm
服務器的安裝
在您想要用作主服務器的服務器上安裝軟件包“puppet-server”。
# yum安裝傀儡服務器
安裝完成後,設置Puppet服務器,使其可以在系統啟動時自動開啟並打開。
#服務puppetmaster啟動時的# chkconfig puppetmaster
現在我們已經啟動並運行了服務器,我們必須確保可以從我們的網絡訪問它。
在CentOS/RHEL 6上的/etc/sysconfig/iptables的“:OUTPUT ACCEPT”部分添加以下行,其中iptables用作防火墻。
1 -A輸入-m狀態-狀態NEW-m TCP-p TCP-dport 8140-j接受
要使這壹更改生效,需要重新啟動iptables。
#服務iptables重啟
在使用firewalld的CentOS/RHEL 7上,您可以使用以下命令來實現相同的操作:
#防火墻-cmd-permanent-zone = public-add-port = 8140/TCP #防火墻-cmd - reload
客戶端的安裝
在客戶機節點上安裝Puppet客戶機軟件包,為此,執行以下命令:
# yum安裝木偶
安裝完成後,確保在系統啟動後打開Puppet。
# chkconfig傀儡開啟
您的傀儡客戶機節點必須知道傀儡主服務器的位置。要做到這壹點,最好的方法是使用DNS服務器,在那裏您可以配置Puppet域名。如果沒有普通的DNS服務器,可以使用/etc/hosts文件,所以只需添加下面壹行:
1 . 2 . 3 . 4 server . your . domain 2.3.4.5客戶端-node.your.domain
1.2.3.4對應的是Puppet主服務器的IP地址,“server.your.domain”是主服務器的域名(默認值通常是服務器的主機名),“client-node.your.domain”是客戶端節點。應該在所有相關的服務器(傀儡主服務器和客戶端服務器)上相應地配置主機文件。
在這些設置完成後,我們將顯示作為主服務器的傀儡客戶機。默認情況下,puppet會尋找壹個名為“Puppet”的服務器,但是這個設置通常不適合您的網絡配置,所以我們將其更改為Puppet主服務器的完全限定域名(FQDN)。打開/etc/sysconfig/Puppet文件,將“PUPPET_SERVER”的值替換為/etc/hosts中指定的Puppet主服務器的域名:
PUPPET _ SERVER = SERVER . your . domain
還必須在/etc/puppet/puppet.conf的[agent]部分定義主服務器名稱:
server server = server . your . domain
現在,您可以啟動Puppet客戶機:
#服務傀儡開始
我們需要使用以下命令來強制客戶端聯系傀儡主服務器:
#傀儡代理-測試
您應該會看到類似以下輸出的結果。不要慌,這是正常的,因為傀儡主服務器上還沒有驗證服務器。
退出;找不到證書,waitforcert被禁用
回到您的puppet主服務器並驗證證書驗證請求:
#傀儡證書列表
您應該會看到從puppet的主服務器請求證書簽名的所有服務器的列表。找到客戶端服務器的主機名,並使用以下命令對其進行簽名(client-node是客戶端節點的域名):
#傀儡證書簽名客戶端節點
至此,您已經有了壹個工作的傀儡客戶機和服務器。恭喜妳!然而,目前傀儡主服務器不能指示客戶端做任何事情。因此,您最好創建壹個基本的清單文件,並設置壹個客戶機節點來安裝基本的實用程序。
重新連接到Puppet服務器,並確保目錄/etc/Puppet/manifest已經存在。
# mkdir-p/etc/puppet/manifest
現在,使用以下內容創建壹個清單文件/etc/puppet/manifests/site.pp。
node ' client-node ' { include custom _ utils } class custom _ utils { package {[" nmap "," telnet "," vim-enhanced "," traceroute"]:確保= & gt最新,allow _ virtual = & gt假,} }
然後重新啟動puppetmaster服務。
#服務puppetmaster重新啟動
客戶端配置的默認刷新間隔是30分鐘;如果要手動強制更改生效,必須在客戶端節點上執行以下命令:
#傀儡特工-t
如果要更改默認的客戶端刷新間隔,請插入以下行:
runinterval = & lt妳的時間& gt
添加到客戶端節點上/etc/puppet/puppet.conf的“[agent]”部分。該設置是壹個時間間隔,單位可以是秒(30或30s)、分鐘(30m)、小時(6h)、天(2d)或年(5y)。註意:運行間隔為0表示“連續運行”,而不是“從不運行”。
技巧和方法
1.排除故障
有時可能會發生這樣的情況,如果您想要提交錯誤的配置,您必須調試Puppet失敗的地方。為此,您總是可以從檢查/var/log/puppet/中的日誌開始,或者手動運行代理軟件並查看輸出結果:
#傀儡特工-t
默認情況下,“-t”激活詳細模式,因此它允許您查看Puppet的輸出。該命令還有幾個參數,可以幫助更詳細地識別問題。第壹個可行的選擇是:
#傀儡代理-t - debug
Debug顯示了Puppet在運行過程中經歷的所有步驟。它在調試非常復雜的規則時非常有用。另壹個可能有用的參數是:
#傀儡特工-t - noop
該選項將puppet設置為所謂的預演模式,並且不做任何更改。Puppet只是輸出將要在屏幕上呈現的內容,並不將任何內容寫入磁盤。
2.組件
過壹會兒,您會發現自己想要壹個更復雜的清單文件。但是在您坐下來開始編寫列表文件之前,您應該花些時間瀏覽壹下。Forge是壹個巨大的軟件庫,其中包含許多木偶社區模塊。妳很可能在這裏找到解決問題的辦法。如果找不到,就自己寫模塊提交,讓別人也能從傀儡模塊文化中受益。
現在,假設妳已經找到了壹個可以解決妳問題的模塊。那麽,如何在系統上安裝呢?安裝其實相當容易,因為Puppet已經包含了壹個直接下載模塊的接口。只需鍵入以下命令:
#木偶模塊安裝& lt模塊名稱& gt-版本0.0.0
& lt模塊名稱& gt是所選模塊的名稱,version是可選的(如果未指定,請下載最新版本。如果您不記得要安裝的模塊的名稱,您可以嘗試使用模塊搜索來找到它:
#木偶模塊搜索& ltsearch _ string & gt
因此,您將獲得包含搜索字符串的所有模塊的列表。
#傀儡模塊搜索apache
註意:正在搜索...名稱描述作者關鍵字示例42-apache Puppe t模塊for Apache @示例42示例42,apache puppetlabs-apache Puppet模塊for Apache @ Puppet labs Apache web httpd centos rhel SSL wsgi pr oxy the foreman-Apache Apache HTTP服務器配置@theforeman foreman apache httpd已棄用
如果您想查看安裝了哪些模塊,只需鍵入以下命令:
#木偶模塊列表
結束語
至此,您應該有了壹個完全實用的Puppet master服務器,它可以為壹個或多個客戶機服務器提供基本配置。現在,您可以隨意向配置中添加更多設置,以適應您的基礎架構。不要擔心擺弄木偶,妳會發現它真的很有幫助。