puppet试验之puppet配置方法
时间:2013-09-09 01:09:22 作者:admin 标签: facter puppet ruby 分类: linux应用
Puppet是开源的基于Ruby的一种Linux、Unix平台的集中配置管理工具,相对cfengine来说,使用更为简单和配置功能更全面。开始实验吧。
当然,第一要准备的是实验环境,准备两台虚拟机,我用的系统是redhat 5U5的。一台192.168.0.201(master),主机名为:Hadoop1.cyou-inc.com;另一台为192.168.0.202 (agnet)主机名为:Hadoop2.cyou-inc.com。好master到agent的ssh无密码登录,方法见<<【Linux】主机间做信任(单向和双向)>>。由于没有dns服务器,就用/etc/hosts代替。hosts文件内容为:
[root@Hadoop1 manifests]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.201 Hadoop1.cyou-inc.com Hadoop1 192.168.0.202 Hadoop2.cyou-inc.com Hadoop2环境准备差不多了,现在可以开始部署配置puppet了。。。
1、首先准备一些源码包(最好不推荐使用源码包,因为在多台服务器安装时就会感觉得到了)
yaml-0.1.4.tar.gz facter-1.6.11.tar puppet-2.7.19.tar ruby-1.9.3-p327.tar.gz2、安装yaml
[root@Hadoop1 puppet]# tar yaml-0.1.4 [root@Hadoop1 puppet]# tar -zxvf yaml-0.1.4.tar.gz [root@Hadoop1 puppet]# cd yaml-0.1.4 [root@Hadoop1 yaml-0.1.4]# ./configure [root@Hadoop1 yaml-0.1.4]# make && make install3、先安装ruby
[root@Hadoop1 puppet]# tar -zxvf ruby-1.9.3-p327.tar.gz [root@Hadoop1 puppet]# cd ruby-1.9.3-p327 [root@Hadoop1 ruby-1.9.3-p327]# ./configure [root@Hadoop1 ruby-1.9.3-p327]# make && make install4、再安装facter
[root@Hadoop1 puppet]# tar -xvf facter-1.6.11.tar [root@Hadoop1 puppet]# cd facter-1.6.11 [root@Hadoop1 facter-1.6.11]# ./install.rb5、安装puppet
[root@Hadoop1 puppet]# tar -xvf puppet-2.7.19.tar [root@Hadoop1 puppet]# cd puppet-2.7.19 [root@Hadoop1 puppet-2.7.19]# ./install.rb6、配置puppet master端
[root@Hadoop1 puppet-2.7.19]# cp conf/redhat/server.init /etc/init.d/puppetmaster #启动脚本 [root@Hadoop1 puppet-2.7.19]# cp conf/redhat/puppet.conf /etc/puppet/ #配置文件7、安装agent端与上面差不多,也需要安装facter\ruby\puppet 8、启动puppetmaster
[root@Hadoop1 puppet]# /etc/init.d/puppetmaster start9、在客户端(agent)中执行如下命令进行签名授权
[root@Hadoop2 puppet]# puppetd --server Hadoop1.cyou-inc.com --test10、在master进行通过agent的证书
puppetca –list #查看所有需要签证的agent puppetca –s Hadoop1.cyou-inc.com #对单个agent进行签证授权,所有的agent执行:puppetca -s -a
11、在master中的/etc/puppet/manifests/创建site.pp
11、在master中的/etc/puppet/manifests/创建site.pp
[root@Hadoop1 manifests]# cat site.pp node 'Hadoop2.cyou-inc.com' { file { "/tmp/test.html": content=>"puppet test."; } }12、然后到agent中执行如下命令,第一创建pp文件,需要重启一下master: /etc/init.d/puppetmaster restart
[root@Hadoop2 puppet]# puppetd --server Hadoop1.cyou-inc.com --test info: Caching catalog for hadoop2.cyou-inc.com info: Applying configuration version '1378657707' notice: /Stage[main]//Node[hadoop2.cyou-inc.com]/File[/tmp/test.html]/ensure: defined content as '{md5}030c4c784a23319f3c14933b193a76e9' notice: Finished catalog run in 0.10 seconds13、在agent中查看有test.html文件
[root@Hadoop2 puppet]# cd /tmp/ [root@Hadoop2 tmp]# cat test.html puppet test.[root@Hadoop2 tmp]#如上,在agent的能看到test.html文件,并能有“puppet test.”内容,表示配置完成。