新聞中心
一、Puppet簡介

Puppet是一種Linux、Unix平臺的集中配置管理系統(tǒng),使用ruby語言,可管理配置文件、用戶、cron任務(wù)、軟件包、系統(tǒng)服務(wù)等。Puppet把這些系統(tǒng)實(shí)體稱之為資源,Puppet的設(shè)計(jì)目標(biāo)是簡化對這些資源的管理以及妥善處理資源間的依賴關(guān)系。
二、Puppet工作流程
1、客戶端Puppetd調(diào)用facter,facter探測出主機(jī)的一些變量,例如主機(jī)名,內(nèi)存大小,ip地址等。pupppetd 把這些信息通過ssl連接發(fā)送到服務(wù)器端;
2、服務(wù)器端的Puppetmaster 檢測客戶端的主機(jī)名,然后找到manifest里面對應(yīng)的node配置, 并對該部分內(nèi)容進(jìn)行解析,facter送過來的信息可以作為變量處理,node牽涉到的代碼才解析,其他沒牽涉的代碼不解析。解析分為幾個(gè)階段,語法檢查,如果語法錯(cuò)誤就報(bào)錯(cuò)。如果語法沒錯(cuò),就繼續(xù)解析,解析的結(jié)果生成一個(gè)中間的“偽代碼”,然后把偽代碼發(fā)給客戶端;
3、客戶端接收到“偽代碼”,并且執(zhí)行,客戶端把執(zhí)行結(jié)果發(fā)送給服務(wù)器;
4、服務(wù)器端把客戶端的執(zhí)行結(jié)果寫入日志。
三、安裝準(zhǔn)備(已關(guān)閉防火墻和selinux)
| 名稱 | 系統(tǒng) | ip | 主機(jī)名 |
| master | CentOS 7 | 192.168.152.131 | master.domain.com |
| slave | centos 7 | 192.168.152.132 | slave.domain.com |
四、安裝步驟
4.1、master服務(wù)器配置
添加puppet自定義倉庫
[root@master ~]# rpm -ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm
安裝puppetserver
[root@master ~]# yum install puppet-server
設(shè)置開機(jī)啟動(dòng)
[root@master ~]# systemctl enable puppetmaster.service
編輯hosts文件是兩臺服務(wù)器互通
[root@master ~]# vi /etc/hosts
添加如下兩行
192.168.152.131 master.domain.com
192.168.152.132 slave.domain.com
[root@master ~]# vi /etc/puppet/puppet.conf
添加如下內(nèi)容:
[master]
certname=master.domain.com//服務(wù)端的名字
啟動(dòng)服務(wù)
[root@master ~]# systemctl start puppetmaster.service
開機(jī)啟動(dòng)
[root@master ~]# systemctl enbale puppetmaster.service
4.2、配置客戶端
[root@slave ~]# rpm -ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm
[root@slave ~]# yum install puppet
[root@slave ~]#vi /etc/puppet/puppet.conf
添加如下內(nèi)容:
[agent]
certname = slave.domain.com
server = master.domain.com
report = true
[root@slave ~]# systemctl start puppet.service
[root@slave ~]# systemctl enable puppet.service
測試:
[root@slave ~]# puppet agent --server=master.domain.com --verbose --no-daemonize --debug
[root@master manifests]# vi site.pp
服務(wù)器上配置site.pp
node default{
file{
"/mnt/pu":
owner =>"lila",
group=>"lila",
}
}
客戶端執(zhí)行
[root@slave mnt]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for slave.domain.com
Info: Applying configuration version '1487772773'
Notice: /Stage[main]/Main/Node[default]/File[/mnt/pu]/owner: owner changed 'root' to 'lila'
Notice: /Stage[main]/Main/Node[default]/File[/mnt/pu]/group: group changed 'root' to 'lila'
Notice: Finished catalog run in 0.02 seconds
[root@slave mnt]# ll
total 4
-rw-rw-rw- 1 lila lila 6 Feb 22 08:08 pu
Puppet 學(xué)習(xí)系列:
相關(guān)閱讀:
分享文章:CentOS7下安裝配置Puppet
本文來源:http://www.dlmjj.cn/article/dpdjpds.html


咨詢
建站咨詢
