天天看点

puppet 安装详解

一 puppet 简介

puppet 是用ruby 开发的,开源的集中配置管理工具。puppet 是一个C/S结构。能够帮助系统管理员对系统,进行软件包升级,管理配置文件,系统服务,cron 任务,以及对系统中用户管理等等。puppet 是个典型的星型架构,clients 默认情况下是每30分钟请求一次server端,确认是否有新的变更操作指令。在配置puppet 环境的时候,需要使用dns 如果没有dns 的可以修改hosts 文件,确保puppet  master和puppetclient 都能够正确解析对方。

 puppet 工作流程如下:

1 客户端puppetd 调用facter,facter 探测出主机的一些变量,如主机名称,内存大小,ip地址等。puppetd 把这些信息通过ssl  连接发送到服务器端

2 服务器端的puppetmaster 检测客户端的主机名,然后找到manifest里面对应的node配置,并对该部分内容进行解析,facter送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没有牵涉的代码不解析。解析分为几个阶段,语法检查,如果语法错误就报错。如果语法没有错误,就继续解析,解析的结果生成一个中间的“伪代码“,然后把伪代码发送给客户端;

 3 客户端接收到伪代码,并执行,客户端吧执行结果发送给服务器端;

 4 服务器端包客户端的执行结果写入日志

二 所需软件,

     ruby-2.0.0-p195.tar.gz

     facter-1.6.18.tar.gz

      puppet-3.2.1.tar.gz

三 配置安装

1 首先删除系统自带的ruby 因为我的OS Version 为RHEL5.0,为在后面安装foreman 或者puppet-dashboard,故这里升级了ruby

#yum remove  ruby-*

#tar xf ruby-2.0.0-p195.tar.gz

#cd  ruby-2.0.0-p195

#./configure –prefix=/usr/local/ruby && make && makeinstall

2 安装facter

# tar xf  facter-1.6.18.tar.gz

#cd facter-1.6.18

#/usr/local/ruby/bin/rubyinstall.rb

3 安装puppet

#tar xf puppet-3.2.1.tar.gz

#cd puppet-3.2.1

#/usr/local/ruby/bin/ruby install.rb

4 配置puppet

#cd ext/redhat

#cp puppet.conf fileserver.conf  /etc/puppet/

#cp logrotate /etc/logrotate.d/puppetmaster

#cp server.init /etc/init.d/puppetmaster

#chmod 700 /etc/init.d/puppetmaster

#cp server.sysconf ig /etc/sysconfig/puppetmaster

#useradd puppet

#cp ../../conf/{auth.conf,tagmail.conf} /etc/puppet/

 5 创建命令连接

#ln -sf /usr/local/ruby/bin/{bundle,erb,extlookup2hiera,facter,gem,irb,puppet,rake,rdoc,ri,ruby,testrb}  /usr/bin

6 puppet 配置文件详解

#cd /etc/puppet

#ls

auth.conf

 files  

fileserver.conf   #puppet文件服务器配置文件

manifests  #puppet主文件所在目录

modules   #puppet 的模块所在文件

namespaceauth.conf  

puppet.conf  #puppet 的主配置文件

本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/1213217,如需转载请自行联系原作者