Puppet 是一種 Linux、Unix、Windows 平臺的集中配置管理系統,使用 Puppet 自帶的描述語言,可管理配置文件、用戶、cron任務、軟件包、系統服務等。Puppet把這些系統實體稱之爲資源,其設計目標是簡化對這些資源的管理以及妥善處理資源之間的依賴關係。vim
puppet採用C/S星狀的結構,全部的客戶端和一個或幾個服務器交互。每一個客戶端週期的(默認半個小時)向服務器發送請求,得到其最新的配置信息,保證和該配置信息同步。每一個puppet客戶端每半小時(能夠設置)鏈接一次服務器端, 下載最新的配置文件,而且嚴格按照配置文件來配置客戶端. 配置完成之後,puppet客戶端能夠反饋給服務器端一個消息. 若是出錯,也會給服務器端反饋一個消息。服務器
192.168.1.1 puppetserver # puppet 服務端tcp
192.168.1.2 agent.1.client # puppet 客戶端 1優化
yum install puppet-serverspa
修改配置文件debug
vim /etc/puppet/puppet.conf設計
##############################################################code
[main]
certname = puppetserver server
ssldir = /var/puppet/ssl #證書位置ip
##############################################################
修改 hosts 文件:
vim /etc/hosts
##############################################################
192.168.1.1 puppetserver
192.168.1.2 agent.1.client
##############################################################
啓動 puppet 服務
systemctl start puppetmaster.service
或者
puppet master --verbose --no-daemonize
yum install puppet
修改配置文件
vim /etc/puppet/puppet.conf
##############################################################
[main]
ssldir = /var/puppet/ssl
[agent]
certname = agent.a1.client
server = puppetserver
report = true
##############################################################
修改 hosts 文件:
vim /etc/hosts
##############################################################
192.168.1.1 puppetserver
192.168.1.2 agent.1.client
##############################################################
啓動 puppet 服務
systemctl start puppet.service
或者
puppet agent --server=puppetserver --verbose --no-daemonize --debug
默認puppet每2分鐘向服務器端申請一次簽名,直到得到服務器端發來的通過簽名的證書才 start agent 服務。也能夠經過--waitforcert=time 來設置等待時間,若是time爲0 則不等待;
服務端:
查看客戶端的簽名申請: puppet cert --list
PS:"agent.a1.clent" 前面有加號就表明申請成功;
給客戶端簽名:puppet cert --sign agent.1.client
清除用戶證書:puppet cert --clean agent.1.client (客戶端端要同時刪除證書:rm -rf /var/puppet/ssl/agent.1.client)
setenforce 0
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.1.0/24 --dport 8140 -j ACCEPT
或者
firewall-cmd --add-port=8140/tcp
清單文件/etc/puppet/manifests/site.pp
yum 安裝默認是沒有這個文件的,服務端啓動時須要手動建立一個,否則可能會沒法啓動(未測過,可能新版本優化過);
也能夠在配置文件中自定義:
vardir =
/opt/puppetlabs/server/data/puppetserver
logdir =
/var/log/puppetlabs/puppetserver
rundir =
/var/run/puppetlabs/puppetserver
pidfile =
/var/run/puppetlabs/puppetserver/puppetserver
.pid
codedir =
/etc/puppetlabs/code