轉載: http://blog.51cto.com/ywzhou/1576330
一、檢視資訊
1、檢視puppet版本
[root@puppet ~]# puppet --version
3.7.1
2、檢視子產品位置
[root@puppet ~]# puppet config print modulepath
/etc/puppet/modules:/usr/share/puppet/modules
3、檢視報告
[root@puppet ~]# puppet agent -t --summarize
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppet.ewin.com
Info: Applying configuration version '1415922617'
Notice: Finished catalog run in 0.07 seconds
Changes:
Events:
Resources:
Total: 8
Time:
Filebucket: 0.00
File: 0.00
Schedule: 0.00
Config retrieval: 0.41
Total: 0.41
Last run: 1415929219
Version:
Config: 1415922617
Puppet: 3.7.1
4、檢視用戶端更新間隔
[root@puppet ~]# puppet agent --configprint runinterval
1800
預設1800秒,即半小時,更新間隔可修改puppet.conf
runinterval = 120
5、檢視請求證書
[root@puppet ~]# ls /var/lib/puppet/ssl/ca/requests/
6、檢視已簽證書
[root@puppet ~]# ls /var/lib/puppet/ssl/ca/signed/
centostest.ewin.com.pem ywzhou-pc.ewin.com.pem
puppet.ewin.com.pem zabbix.ewin.com.pem
7、服務端檢視證書
[root@puppet ~]# puppet cert list --all
+ "puppet.ewin.com" (SHA256) 72:FD:30:87:86:CD:3E:CB:F4:6D:2A:C9:22:95:15:9B:48:C6:82:94:76:47:E0:08:57:A9:89:35:40:64:CB:F2 (alt names: "DNS:puppet", "DNS:puppet.ewin.com")
+ "ywzhou-pc.ewin.com" (SHA256) 29:33:6F:64:7D:98:87:FA:FB:B4:4C:E1:0B:BE:89:AB:F0:3A:3A:DA:29:11:C8:87:83:6C:4E:87:91:0E:F8:9E
+ "zabbix.ewin.com" (SHA256) 6F:1E:2B:46:2D:31:95:A2:71:59:A3:73:C4:A7:53:4B:29:91:72:65:4A:0D:32:A7:F1:6A:86:B6:D1:4A:FF:2D
二、驗證測試
1、服務端編寫代碼
[root@puppet ~]# vi /etc/puppet/manifests/site.pp
node default {
case $operatingsystem {
Windows: {
$file_path = 'C:\\helloworld.txt'
}
/(RedHat|CentOS|Fedora|Ubuntu|Debian)/: {
$file_path = '/tmp/helloworld.txt'
}
}
file { $file_path : content => "hello, world";}
}
說明:設定預設節點配置,完成安裝一、二後,通過參數$operatingsystem自動判斷用戶端系統,生成相應的helloworld.txt測試檔案,并通過content定義内容。
2、用戶端測試
[root@puppet ~]# puppet agent --server puppet.ewin.com --test
http://s3.51cto.com/wyfs02/M00/53/25/wKioL1RlXZLTFznIAADJlADdRWY835.jpg 
結論:可以看到兩個用戶端分别生成了檔案,内容也是puppet定義好的;
将檔案删除,到達下一個同步時間,檔案又會自動生成,測試安裝成功。
3、問題及解決
(1)插件同步問題
用戶端運作puppet agent -test時報錯:
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet.ewin.com/plugins
這是因為沒有安裝插件,解決方法是設定用戶端和服務端的/etc/puppet.conf中的pluginsync=true 改成pluginsync=false,并重新開機puppetmaster或者建個插件讓其同步工作起來。
(2)是否允許虛拟化問題
http://s3.51cto.com/wyfs02/M01/53/7D/wKioL1RpWDLg0xKUAADxkLvYmAc713.jpg[root@puppet ~]# vi /etc/puppet/manifests/site.pp
Package { allow_virtual => true, }