全部博文(389)
分类: LINUX
2014-06-30 02:36:59
puppet安装入门
puppet是一款分布式重量级配置管理工具。主要的功能可以在服务器上推送软件,批量执行命令等等操作.
相比pssh之类的并行命令工具,功能更加大,跨平台支持。pssh只能是同时在多台服务器上执行命令。而puppet
可以同时在不同的平台上执行命令,可以从服务器上推送软件到客户端.
puppet的主要架构方式使的是C/S模式,服务器端运行puppet master(简称master),客户端运行puppet agent(
简称agent),agent会定期或是从服务端手动推送变更的内容到客户端.
puppet支持unix,linux,mac,windows等主流平台.
服务器端的安装包
yum install ruby ruby-libs ruby-shadow puppet.noarch puppet-server.noarch facter
客户端的安装包
yum install ruby ruby-libs ruby-shadow puppet.noarch facter
在rhel上建议先安装epel包,该包会设置yum源,后续不要到处去找源,而有些源软件包又不完整,导致无法安装成功.
启动puppet master
[root@db1 manifests]# service puppetmaster start
[ OK ]
master的主要配置文件是/etc/puppet/puppet.conf
站点site.pp文件位于 /etc/puppet/manifests,定义了客户端的加载配置,初始内容,定义了puppetserver服务器的名称.
$puppetserver='localhost.localdomain'
测试以下内容,在每个客户端上新建一个文件 /tmp/abc.txt ,内容是hello,编辑site.pp文件
$puppetserver='localhost.localdomain'
node default
{
file { "/tmp/abc.txt":
content => "hello"; }
}
agent的端配置文件也是/etc/puppet/puppet.conf, server定义了puppet服务器的位置
[root@c12 puppet]# cat /etc/puppet/puppet.conf
[main]
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/log/puppet
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet
server=localhost.localdomain
..............启动agent
[root@c12 init.d]# service puppet start
Starting puppet: [ OK ]
客户端会在一定的间隔去服务器取对应的配置(服务器端/etc/puppet/puppet.conf的runinterval定义,单位秒)
[root@c12 init.d]# cat /tmp/abc.txt
cat: /tmp/abc.txt: No such file or directory
[root@c12 init.d]# cat /tmp/abc.txt
hello[root@c12 init.d]#
可以看到/tmp/abc.txt已经在客户端生成了.