Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2802803
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(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已经在客户端生成了.

阅读(2302) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~