於2017.04.21 從新浪博客搬遷過來
----------------------------------------------------------------
puppet是一種Linux、Unix、windows平臺的集中配置管理系統,使用自有的puppet描述語言,可管理配置文件、用戶、cron任務、軟件包、系統服務等。puppet採用C/S星狀的結構,所有的客戶端和一個或幾個服務器交互。每個客戶端週期的(默認半個小時)向服務器發送請求,獲得其最新的配置信息,保證和該配置信息同步。
安裝測試環境
服務器IP | 服務器域名(hostname) | 服務 |
192.168.5.134 | master.puppet.com | Puppet Server |
192.168.5.34 | client34.puppet.com | Puppet client |
一、 安裝puppet(在服務端和客戶端都需要操作)
1.分別設置server和client的安裝前準備
在192.168.5.134 服務端上
echo "192.168.5.134 master.puppet.com master
192.168.5.34 client34.puppet.com client34" >>/etc/hosts
sed -i "s/HOSTNAME=.*/HOSTNAME=master.puppet.com/" /etc/sysconfig/network
hostname master.puppet.com
在192.168.5.34 客戶端上
echo "192.168.5.134 master.puppet.com master
192.168.5.34 client34.puppet.com client34" >>/etc/hosts
sed -i "s/HOSTNAME=.*/HOSTNAME=client34.puppet.com/" /etc/sysconfig/network
hostname client34.puppet.com
做完上面步驟都需要重新連接一下終端就能看到主機名改變了;
2.安裝puppet所需要的ruby環境
yum -y install ruby ruby-libs ruby-shadow(這個包centos默認yum倉庫沒有,但不影響在後面會自動給裝上)
安裝一個帶有puppet的yum源(這裏面這個puppet版本目前是3.1.1)
rpm -Uvh http://yum.puppetlabs.com/el/5/products/x86_64/puppetlabs-release-5-6.noarch.rpm
安裝puppet
yum -y install puppet puppet-server facter(客戶端只需要yum -y install puppet facter)
其實這樣就已經把puppet安裝完了;很簡單吧
3.啓動puppet
在服務端上啓動
service puppetmaster start
在最初調試的時候可以使用調試模式,可以產生詳細的調試輸出
puppet master --verbose --no-daemonize
在客戶端上啓動
puppet agent –t
同樣可以使用調試輸出模式來進行測試
puppet agent --server=master.puppet.com --no-daemonize --verbose –onetime
這個--server也可以在客戶端的配置文件/etc/puppet/puppet.conf 中main段指定這一參數
簡單解釋一下後面幾個參數的意思
--server 這個很明顯是指定puppet服務器
--no-daemonize 這個是使進程在前臺運行並將輸出重定向到標準輸出
--verbose 這個是使進程輸出詳細的日誌
--onetime 這個是使agent只運行一次就停止了
--debug 這個是可以輸出更詳細的日誌,供我們查看
可能會遇到的問題:
err: Could not request certificate: Invalid group: 0
可能遇到這個錯誤提示,遇到這個提示大致有以下兩個方面原因:
A. 有時候雖然你是用的root賬戶,但是啓動的時候還是會報錯,可以使用sudo來解決;
sudo puppet agent --server=master.puppet.com --no-daemonize --verbose
B. 某些文件權限不夠,在/etc/puppet/下所有文件至少必須得有讀的權限
-rw-r--r-- 1 root root 907 Mar 29 20:48 /etc/puppet/puppet.conf