CentOS6.0 Puppet安装配置

前言:Puppet是Puppet Labs基于ruby语言开发的自动化系统配置工具,可以以C/S模式或独立模式运行,支持对所有UNIX及类UNIX系统的批量配置和管理,最新版本也开始支持对Windows操作系统有限的一些管理。

Puppet适用于服务器管理的整个过程,比如初始安装、配置、更新以及系统下线。

相关阅读:

CentOS6.0 Puppet安装配置
Puppet常用配置与管理
Puppet常用资源配置 

puppet原理:

Puppet的工作细节分成如下几个步骤:

1、客户端puppetd调用facter,facter会探测出这台主机的一些变量如主机名、内存大小、IP地址等。然后puppetd把这些信息发送到服务器端。

2、服务器端的puppetmaster检测到客户端的主机名,然后会到manifest里面对应的node配置,然后对这段内容进行解析,facter送过来的信息可以作为变量进行处理的,node牵涉到的代码才解析,其它的代码不解析,解析分几个过程:语法检查、然后会生成一个中间的伪代码,然后再把伪代码发给客户机。

3、客户端接收到伪代码之后就会执行,客户端再把执行结果发送给服务器。

4、服务器再把客户端的执行结果写入日志。 

系统配置:centos6.0 x64

服务端ip 192.9.117.140  hostname:192-9-117-140-APP.com

客户端ip 192.9.117.141  hostname:192-9-117-141-APP.com

一、 服务器端安装

安装 puppet-Server 
首先在服务器端和客户端配置好hostname,因为puppet是基于hostname来检测的,同时都要修改hosts文件: 
 
修改主机名的命令: 
 
hostname `ifconfig eth0 |grep Bcast|awk '{print $2}'|cut -d:  -f  2 |sed 's/\./\-/g'`-APP.com 
 
如果有DNS可以不用,这里我添加: 
192.9.117.140 192-9-117-140-APP.com 
192.9.117.141 192-9-117-141-APP.com 
 
可以用命令添加: 
 
grep APP.com /etc/hosts;[ $? -ne 0 ]&&echo -e "192.9.117.140 192-9-117-140-APP.com\n192.9.117.141 192-9-117-141-APP.com ">>/etc/hosts 
 
Puppet 需要 Ruby 的支持,如果要查看命令行帮助的话需要额外 ruby-rdoc 这个软件包: 
rpm –Uvh  
yum install puppet-server -y 【这一步为默认安装ruby ruby-libs ruby-rdoc等软件包】 
/etc/init.d/puppetmaster start 
关闭 iptables,关闭selinux 
/etc/init.d/iptables stop 
sed -i ‘/SELINUX/S/enforce/disabled/’ /etc/selinux/config

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fd648ddb3a97b85c4a38bb5a2af937fb.html