PUPPET集中配置(一)

      

 

  

      PUPPET集中配置管理系統較之於其餘管理工具具備穩定性,可以管理服務器的整個管理週期,並使其配置有條不紊,會讓你的系統同配置要求保持一致。本次經過 C/S 架構的配置使用Puppet 自帶的語言來配置 Server 上的文件系統,Cron任務等,而後在各個服務器實現配置。經過對 Manifests Nodes Site.pp 等配置的編輯和修改,只需在 Server 端進行簡單的編輯就能夠實現集中配置管理。在 Nginx配置時, Nginx 會在啓動時直接調用Puppet,而默認每半個小時的 Client Server 的更新讓配置更加緊密同步,成功配置完成以後 Client 會向 Server 端反饋一個消息,若配置失敗,也會反饋一個消息。linux

原理圖:json

 

 

wKiom1ie7fzhc2SLAAJZTCJfhYw985.png-wh_50

 

系統環境:rhel 6.5 (selinux&iptables disabled)vim

Puppet master : 192.168.122.101 server1.example.comruby

Puppet client :192.168.122.102 server2.example.com服務器

  192.168.122.103 server3.example.com架構

*******DATE必定要同步,不然驗證會失敗*******ide


一,安裝puppet工具

YUM 源及其所需安裝包url

[puppet]spa

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服務端才安裝SERVERClient不安裝此包)

wKiom1ie70by1nb8AABXFqO3w3Q490.png

#Date 命令檢查各個服務器的時間是否一致

wKiom1ie7kOxXNRtAAASLcGsQYo454.png-wh_50

 

二.客戶端請求認證

puppet cert list

puppet cert list-all

puppet cert sign server2.example.com(許可server2 server1創建鏈接)

wKioL1ie7nbxmq_UAABVzMzWB58326.png-wh_50

ERROR 說明server2並無向server1請求認證,固然,由於咱們尚未發送過請求信息。

處理步驟:

1..)  agent端執行  puppet agent server server1.example.com--no-daemonize -vt 來給master發送認證請求。

     client master 發出證書驗證請求,而後等待 master 簽名並返回證書。

     參數 --server 指定了須要鏈接的 puppet master 的名字或是地址,默認鏈接名爲                                 「puppet」的主機,如要修改默認鏈接主機能夠修改/etc/sysconfig/puppet 文件中的                               PUPPET_SERVER=puppet 選項

     參數 --no-daemonize puppet 客戶端運行在前臺

     參數 -vttest verbose(使客戶端輸出詳細的日誌)

2.) 而後在master執行    puppet cert sign server2.example.com 來簽名認證agent上的請求。

3.)  最後agent 端再次執行 puppet agent server server1.example.com就能獲取認證。

wKioL1ie7rSzLXbvAABKBosWvyk095.png-wh_50

agent端獲得上述圖的結果就證實認證成功。

那麼如何刪除認證從新認證呢?以下圖所示:

wKiom1ie7sbzJH3EAABZPNySU0k848.png-wh_50

系統給定了它的處理方法,我就再也不贅述了。

可是要記住,masteragent 都要刪除認證信息並刷新的。

從新認證步驟跟以前的步驟相同的。

如要同時簽名全部證書,執行如下命令:


# puppet cert sign--all

# puppet certclean desktop2.example.com

#刪除簽名證書

 

自動驗證:

在 server 端, 編輯 puppet.conf 文件:

[main]

autosign =true   #容許全部客戶端的認證

在/etc/puppet目錄下建立 autosign.conf 文件,內容以下:

*.example.com      #表示容許全部 example.com 域的主機

# service puppetmaster reload

client 端只需執行:

server puppetstart便可。

三,對puppet內資源編輯定義

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"

}

wKiom1ie7wHydCOOAAAhaWmba6U834.png

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

在最後一行加上   

 [files]

 path /etc/puppet/files

 allow *

wKioL1ie72rjGLoIAAAQMgGIt5o421.png

 

AGENT:

[root@server3puppet]# puppet agent --server server1.example.com --no-daemonize -vt 

[root@server3puppet]# cat /mnt/ADORU

ADORU.COM  能夠看到server3的內容與咱們的MASTER規定的內容相同。

wKiom1ie73mhfyYhAACfW626mCk388.png

因而咱們在MASTERsite.pp所寫的內容就被傳至了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(用來與AGENT做比對,肯定內容一致)

ce995678da5101eee20bfb6f2425e9b9  files/passwd

[root@server1puppet]# vim ./manifests/site.pp

file {

        "/mnt/ADORU":

#       content => "ADORU.COM\n";

        source =>"puppet:///files/passwd"

}

 

 wKiom1ie756hK9vYAAAhO8cMY_w698.png


AGENT上執行puppetagent --server server1.example.com --no-daemonize -vt

wKioL1ie77fA2wylAABtBWrJwsg689.png

能夠看到咱們的內容確實獲得更新,md5發生了改變

並且/mnt/ADORU的內容發生變化,其md5值與上面的 passwd文件md5值相等爲ce995678da5101eee20bfb6f2425e9b9

那麼內容呢,咱們在AGENTcat /mnt/ADORU

wKiom1ie7_LAIl5jAAA-lPIVtbo668.png

沒錯呢,內容也是同樣的,除此以外,puppet默認半小時同步一次(手動也能夠),即便你不當心把AGENT的內容改了,它也能依靠這種原理自動還原回去,這充分體現了Puppet的穩定性.

好了,這就是開始的PUPPET安裝和配置,接下來的詳細內容將在下次向你們介紹.

相關文章
相關標籤/搜索