您好,登錄后才能下訂單哦!
PUPPET集中配置管理系統(tǒng)較之于其他管理工具具有穩(wěn)定性,能夠管理服務(wù)器的整個(gè)管理周期,并使其配置有條不紊,會(huì)讓你的系統(tǒng)同配置要求保持一致。本次通過(guò) C/S 架構(gòu)的配置使用Puppet 自帶的語(yǔ)言來(lái)配置 Server 上的文件系統(tǒng),Cron任務(wù)等,然后在各個(gè)服務(wù)器實(shí)現(xiàn)配置。通過(guò)對(duì) Manifests 內(nèi) Nodes 與 Site.pp 等配置的編輯和修改,只需在 Server 端進(jìn)行簡(jiǎn)單的編輯就可以實(shí)現(xiàn)集中配置管理。在 Nginx配置時(shí), Nginx 會(huì)在啟動(dòng)時(shí)直接調(diào)用Puppet,而默認(rèn)每半個(gè)小時(shí)的 Client 從 Server 的更新讓配置更加緊密同步,成功配置完成之后 Client 會(huì)向 Server 端反饋一個(gè)消息,若配置失敗,也會(huì)反饋一個(gè)消息。
原理圖:
系統(tǒng)環(huán)境:rhel 6.5 (selinux&iptables disabled)
Puppet master : 192.168.122.101 server1.example.com
Puppet client :192.168.122.102 server2.example.com
192.168.122.103 server3.example.com
*******DATE一定要同步,否則驗(yàn)證會(huì)失敗*******
一,安裝puppet包
YUM 源及其所需安裝包
[puppet]
name=puppet
baseurl=http://yum.puppetlabs.com/el/6Server/products/x86_64/
gpgcheck=0
[ruby]
name=ruby
baseurl=http://yum.puppetlabs.com/el/6Server/dependencies/x86_64/
gpgcheck=0
#Yum install
rubygems-1.3.7-5.el6.noarch.rpm
facter-2.4.4-1.el6.x86_64.rpm
hiera-1.3.4-1.el6.noarch.rpm
rubygem-json-1.5.5-3.el6.x86_64.rpm
ruby-shadow-2.2.0-2.el6.x86_64.rpm
ruby-augeas-0.4.1-3.el6.x86_64.rpm
puppet-3.8.1-1.el6.noarch.rpm
puppet-server-3.8.1-1.el6.noarch.rpm(只有SERVER1服務(wù)端才安裝SERVER,Client不安裝此包)
#Date 命令檢查各個(gè)服務(wù)器的時(shí)間是否一致
二.客戶(hù)端請(qǐng)求認(rèn)證
puppet cert list
puppet cert list-all
puppet cert sign server2.example.com(許可server2 向 server1建立連接)
ERROR 說(shuō)明server2并沒(méi)有向server1請(qǐng)求認(rèn)證,當(dāng)然,因?yàn)槲覀冞€沒(méi)有發(fā)送過(guò)請(qǐng)求信息。
處理步驟:
1..) 在 agent端執(zhí)行 puppet agent server server1.example.com--no-daemonize -vt 來(lái)給master發(fā)送認(rèn)證請(qǐng)求。
client 向 master 發(fā)出證書(shū)驗(yàn)證請(qǐng)求,然后等待 master 簽名并返回證書(shū)。
參數(shù) --server 指定了需要連接的 puppet master 的名字或是地址,默認(rèn)連接名為 “puppet”的主機(jī),如要修改默認(rèn)連接主機(jī)可以修改/etc/sysconfig/puppet 文件中的 PUPPET_SERVER=puppet 選項(xiàng)
參數(shù) --no-daemonize 是 puppet 客戶(hù)端運(yùn)行在前臺(tái)
參數(shù) -vt指test與 verbose(使客戶(hù)端輸出詳細(xì)的日志)
2.) 然后在master執(zhí)行 puppet cert sign server2.example.com 來(lái)簽名認(rèn)證agent上的請(qǐng)求。
3.) 最后agent 端再次執(zhí)行 puppet agent server server1.example.com就能獲取認(rèn)證。
在agent端得到上述圖的結(jié)果就證明認(rèn)證成功。
那么如何刪除認(rèn)證重新認(rèn)證呢?如下圖所示:
系統(tǒng)給定了它的處理方法,我就不再贅述了。
但是要記住,master和agent 都要?jiǎng)h除認(rèn)證信息并刷新的。
重新認(rèn)證步驟跟之前的步驟相同的。
如要同時(shí)簽名所有證書(shū),執(zhí)行以下命令:
# puppet cert sign--all
# puppet certclean desktop2.example.com
#刪除簽名證書(shū)
自動(dòng)驗(yàn)證:
在 server 端, 編輯 puppet.conf 文件:
[main]
autosign =true #允許所有客戶(hù)端的認(rèn)證
在/etc/puppet目錄下創(chuàng)建 autosign.conf 文件,內(nèi)容如下:
*.example.com #表示允許所有 example.com 域的主機(jī)
# service puppetmaster reload
在 client 端只需執(zhí)行:
server puppetstart即可。
三,對(duì)puppet內(nèi)資源編輯定義
Master:
[root@server1puppet]# pwd
/etc/puppet/
[root@server1puppet]# vim /etc/puppet/manifests/site.pp
file {
"/mnt/ADORU":
content => "ADORU.COM\n";
# source =>"puppet:///files/passwd"
}
[root@server1puppet]# vim /etc/puppet/fileserver.conf
在最后一行加上
[files]
path /etc/puppet/files
allow *
AGENT:
[root@server3puppet]# puppet agent --server server1.example.com --no-daemonize -vt
[root@server3puppet]# cat /mnt/ADORU
ADORU.COM 可以看到server3的內(nèi)容與我們的MASTER規(guī)定的內(nèi)容相同。
于是我們?cè)?/span>MASTER下site.pp所寫(xiě)的內(nèi)容就被傳至了AGENT的/mnt/ADORU
MASTER:
這次我們換作直接將/etc/puppet/files/passwd 文件同步到AGENT上面
[root@server1puppet]# mkdir /etc/puppet/files/
[root@server1puppet]# cp /etc/passwd /etc/puppet/files/
[root@server1puppet]# md5sum files/passwd(用來(lái)與AGENT作比對(duì),確定內(nèi)容一致)
ce995678da5101eee20bfb6f2425e9b9 files/passwd
[root@server1puppet]# vim ./manifests/site.pp
file {
"/mnt/ADORU":
# content => "ADORU.COM\n";
source =>"puppet:///files/passwd"
}
在AGENT上執(zhí)行puppetagent --server server1.example.com --no-daemonize -vt
可以看到我們的內(nèi)容確實(shí)得到更新,md5發(fā)生了改變
而且/mnt/ADORU的內(nèi)容發(fā)生變化,其md5值與上面的 passwd文件md5值相等為ce995678da5101eee20bfb6f2425e9b9
那么內(nèi)容呢,我們?cè)?/span>AGENT上cat /mnt/ADORU
沒(méi)錯(cuò)呢,內(nèi)容也是一樣的,除此之外,puppet默認(rèn)半小時(shí)同步一次(手動(dòng)也可以),即使你不小心把AGENT的內(nèi)容改了,它也能依靠這種原理自動(dòng)還原回去,這充分體現(xiàn)了Puppet的穩(wěn)定性.
好了,這就是開(kāi)始的PUPPET安裝和配置,接下來(lái)的詳細(xì)內(nèi)容將在下次向大家介紹.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。