溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

PUPPET集中配置(一)

發(fā)布時(shí)間:2020-08-02 07:18:20 來(lái)源:網(wǎng)絡(luò) 閱讀:1351 作者:亞特璐 欄目:編程語(yǔ)言

      

 

  

      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è)消息。

原理圖:

 

 

PUPPET集中配置(一)

 

系統(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不安裝此包)

PUPPET集中配置(一)

#Date 命令檢查各個(gè)服務(wù)器的時(shí)間是否一致

PUPPET集中配置(一)

 

二.客戶(hù)端請(qǐng)求認(rèn)證

puppet cert list

puppet cert list-all

puppet cert sign server2.example.com(許可server2 server1建立連接)

PUPPET集中配置(一)

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ù) -vttest 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)證。

PUPPET集中配置(一)

agent端得到上述圖的結(jié)果就證明認(rèn)證成功。

那么如何刪除認(rèn)證重新認(rèn)證呢?如下圖所示:

PUPPET集中配置(一)

系統(tǒng)給定了它的處理方法,我就不再贅述了。

但是要記住,masteragent 都要?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"

}

PUPPET集中配置(一)

[root@server1puppet]# vim /etc/puppet/fileserver.conf 

在最后一行加上   

 [files]

 path /etc/puppet/files

 allow *

PUPPET集中配置(一)

 

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)容相同。

PUPPET集中配置(一)

于是我們?cè)?/span>MASTERsite.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"

}

 

 PUPPET集中配置(一)


AGENT上執(zhí)行puppetagent --server server1.example.com --no-daemonize -vt

PUPPET集中配置(一)

可以看到我們的內(nèi)容確實(shí)得到更新,md5發(fā)生了改變

而且/mnt/ADORU的內(nèi)容發(fā)生變化,其md5值與上面的 passwd文件md5值相等為ce995678da5101eee20bfb6f2425e9b9

那么內(nèi)容呢,我們?cè)?/span>AGENTcat /mnt/ADORU

PUPPET集中配置(一)

沒(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)容將在下次向大家介紹.


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI