puppet安裝準備工做node
準備兩臺機器:192.168.0.188(服務端)192.168.0.189(客戶端)linux
兩臺機器關閉selinux(臨時關閉setenforce 0),清空iptables規則(iptables -F ,service iptables save),並保存,設置hostnameweb
188上hostname web9.xuan.com,vi /etc/sysconfig/network定義hostnamevim
189上hostname web10.xuan.com,vi /etc/sysconfig/network定義hostnamewindows
編輯hosts文件,188和189所有爲(vi /etc/hosts)ide
192.168.0.188 web9.xuan.com測試
192.168.0.189 web10.xuan.comspa
兩臺機器安裝ntpdata,並創建自動同步時間的任務計劃:命令行
yum install -y ntprest
crontab -e //加入
*/10 * * * * ntpdate time.windows.com >/dev/null 2>&1 (每隔十分鐘執行一下)
puppet安裝
188服務端上
安裝puppet源 rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
安裝服務端程序 yum install -y puppet-server
啓動服務 service puppetmaster start
開機啓動 chkconfig puppetmaster on
ps aux|grep puppet 查看一下它的進程 netstat -lnp 查看它啓用了哪些端口
189客戶端上
安裝puppet源 rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"
安裝客戶端程序 yum install -y puppet
修改配置文件 vi /etc/puppet/puppet.conf //在最後面添加
listen = ture
server = web9.xuan.com
runinterval = 10 //主動更新,每隔10秒
啓動服務 service puppet start
開機啓動 chkconfig puppet on
puppet配置證書
服務端查看客戶端證書列表 puppet cert list --all //若是簽發的證書,會在本行最前面帶一個+
客戶端上生成的ssl證書 puppet agent --test --server web9.xuan.com
服務端簽發指定客戶端證書 puppet cert --sign web10
服務端能夠刪除指定客戶端證書 puppet cert clean web10
刪除全部證書 puppet cert --clean --all
web9:puppet cert --clean --all
web10:/etc/init.d/puppet stop
rm -rf /var/lib/puppet/ssl/* (刪除它原來的證書,它的證書是在這個路徑下)
/etc/init.d/puppet start
web9:puppet cert --sign web10 (從新簽發證書)
puppet配置自動簽發證書
服務端刪除客戶端證書 puppet cert clean --all
客戶端刪除ssl相關文件 rm -rf /var/lib/puppet/ssl/*
服務端增長配置vim /etc/puppet/puppet.conf //在【main】的最後一行加上autosign = true
服務端建立自動簽發的配置文件 vim /etc/puppet/autpsign.conf //加入以下內容
*.xuan.com
服務端重啓puppetmaster服務 /etc/init.d/puppetmaster restart
客戶端重啓puppet服務 /etc/init.d/puppet restart
服務端puppet cert list --all //能夠看到web10.xuan.com已經簽名
若是客戶端不重啓puppet服務,也能夠經過命令來自動簽發
puppet agent --test --server web9.xuan.com
puppet測試證書
服務端編輯配置文件 vi /etc/puppet/manifests/site.pp //添加以下內容
node default {
file {"/tmp/123.txt":
content => "test,test";
}}
說明:若是不配置該文件,則客戶端不會同步任何數據。
服務端重啓puppetmaster服務 /etc/init.d/puppetmaster restart
客戶端上稍等一會(每隔10s會自動執行服務端上的任務),或者直接命令行
puppet agent --test --server web9.xuan.com
這樣在客戶端的/tmp/下會有個123.txt文件,內容爲test,test