puppet的安裝部署實例

關於puppet的說明這裏就不詳細介紹了,這裏主要介紹puppet的安裝方式,和一些基本模塊的應用。下面咱們直接開始puppet的部署安裝吧!node

特別說明:請注意客戶端和服務器端版本要一致。若是版本不一致的話,那麼高版本的只能是puppet server,另外一臺只能做爲puppet客戶端,也就是說puppet 服務端的版本能夠大於或者等於客戶端版本。linux

1.關閉防火牆
[root@puppet01~]service iptables stop
[root@puppet01~]chkconfig iptables off
2.設置selinux
[root@puppet01~]sed -i's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
3.修改服務端跟客戶端hosts文件,添加IP和主機名稱
[root@puppet01~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4
::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6
192.168.1.231 puppetserver 
192.168.1.232 puppetclient
4.服務端安裝puppetmaster
rpm-Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm
yum install puppet-server –y
5.客戶端安裝puppet
rpm-Uvh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm
yum install puppet -y
6.服務端開啓puppetmaster服務
/etc/init.d/puppetmasterstart
7.客戶端證書申請
puppetagent --server puppetserver --test
8.服務端查看證書是否生成
[root@puppet01~]# puppet cert --list
  "puppet02" (SHA256)36:1F:C6:80:48:66:90:52:87:3B:55:AB:6C:66:31:3F:33:35:CF:AE:8A:3A:BA:F9:D0:70:EE:C2:3F:FD:23:9C
9.服務端頒發證書
1.能夠爲特定的主機頒發證書命令:puppetcert –s 
2.給全部的主機頒發證書命令:puppetcert –s and –a 
爲客戶端頒發證書:
puppetcert --s puppetclient #後面是主機名
10.客戶端/tmp下面建立個test.txt文件,作測試
touchtest.txt
#服務端下面編輯site.pp
vi /etc/puppet/manifests/site.pp 
node default {  
file {  
"/tmp/test.txt": content => "helo,test!"; 
  }  
}
11.客戶端測試
puppetagent --server puppetserver --test
   成功信息:
   Info:Caching certificate for puppetclient
Info:Caching certificate_revocation_list for ca
Info:Caching certificate for puppetclient
Info:Retrieving pluginfacts
Info:Retrieving plugin
Info:Caching catalog for puppetclient
Info:Applying configuration version '1426557149'
Notice:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]/content: 
---/tmp/test.txt    2015-03-1621:51:08.889040996 -0400
+++/tmp/puppet-file20150316-1468-1n3cxlt-0 2015-03-1621:52:29.746041636 -0400
@@-0,0 +1 @@
+hello,test!
\No newline at end of file
 
Info:Computing checksum on file /tmp/test.txt
Info:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]: Filebucketed /tmp/test.txtto puppet with sum d41d8cd98f00b204e9800998ecf8427e
Notice:/Stage[main]/Main/Node[default]/File[/tmp/test.txt]/content: content changed'{md5}d41d8cd98f00b204e9800998ecf8427e' to'{md5}18ea2a60db7763506261f87ecb82fb96'
Info:Creating state file /var/lib/puppet/state/state.yaml
Notice:Finished catalog run in 0.05 seconds
12.設置puppet自動認證
在服務端的puppet.conf配置文件裏面[main]下方加入
autosign= true
而後重啓puppetmaster服務。
#這樣在客戶端執行puppetd –server=puppetserver --test服務端會自動認證
13.從新生成證書:
由於不少時候須要更換主機名稱,因此須要從新認證
1.首先在客戶端刪除:rm –rf /var/lib/puppet/ssl文件夾
2.而後在服務端刪除:puppet cert--clean puppetclient
3.最後從新獲取證書:puppet agent--server puppetserver --test
14.客戶端配置puppet相關參數和同步時間:
vi /etc/puppet/sysconfig/puppet
#The puppetmaster server
PUPPET_SERVER=puppetserver
#If you wish to specify the port to connect to do so here
PUPPET_PORT=8140
#Where to log to. Specify syslog to send log messages to the system log.
PUPPET_LOG=/var/log/puppet/puppet.log
#You may specify other parameters to the puppet client here
PUPPET_EXTRA_OPTS=--waitforcert=500
#最後重啓puppet 服務
/etc/init.d/puppetstart
#默認配置完畢後,客戶端是半小時同步一次的,咱們能夠修改同步的時間間隔:
vim/etc/puppet/puppet.conf
#在[agent]下方加入:runinterval = 60 
#表明是60秒跟服務器同步一次
#最後重啓puppet服務
/etc/init.d/puppetstart
15.puppetrun的使用(puppet kick)
#在服務器端使用puppetrun這個命令能夠給客戶端發送一段信號,告訴客戶端馬上跟服務器同步
1.    修改客戶端上的puppet配置文件
vim /etc/puppet/puppet.conf
在[agent]下方添加
listen = true #目的是讓puppet監聽8139端口
2.    修改客戶端的puppet的/etc/sysconfig/puppet文件
vim /etc/sysconfig/puppet
PUPPET_SERVER=puppetserver  #server主機名稱
3.    在客戶端新建namespaceauth.conf文件
[puppetrunner]
allow *
4.    在客戶端修改auth.conf,在 paht / 的前面添加如下內容:
#test
path /run
method save
allow *
5.    最後重啓puppet服務
/etc/init.d/puppet restart
6.    在服務端測試命令:
puppet kick –d host puppetclient
#code 0表示成功
16.文件同步
1.首先編輯fileserver.conf文件:
[root@masterpuppet]# vim fileserver.conf
[files]     定義模塊名稱è後面的site.pp裏面要調用這個名稱
path/opt/
allow192.168.1.0/24

2.而後編輯site.pp文件:
[root@masterpuppet]# vim manifests/site.pp
file{"/opt":  # 傳輸的文件名稱這個能夠隨便寫
source=>"puppet:///files/", #要傳輸的文件
recurse=> true;  # 傳送該目錄下全部文件
}
#puppet://"等價於主配置文件puppet.config中的modulepath值

3.最後執行命令
puppet agent --server puppetserver --test

    以上就是puppet的基本介紹了。關於puppet的功能不只可以管理多臺服務器,執行文件的同步,安裝軟件,管理服務等功能,還能夠結合svn發佈代碼!vim

    好了,puppet的基本安裝就到此!從此會繼續更新puppet+svn代碼發佈的方案!bash

相關文章
相關標籤/搜索