puppet 安装文档—RedHat

来源:互联网 发布:windows phone 8.1软件 编辑:程序博客网 时间:2024/06/05 03:07

1)安装环境:

rhel-server-6.2 版本的机器两台

master host: 192.168.254.242

client host:192.168.254.245

2)安装前准备:

与ubuntu基本一致,需注意的是,要设置master的防火墙,开放puppet所使用的8140端口(详见附录1),这里为了方便,直接关闭防火墙

# /etc/init.d/iptables save
# /etc/init.d/iptables stop

开机时默认关闭防火墙

# chkconfig iptables off

3)安装:

 puppet(Redhat) 最新的版本似乎只面向ec2(详见附录2),因此需要自行安装旧的版本:

首先到puppet官方的下载库 http://downloads.puppetlabs.com/  下载所需的版本,经测试,以下包可用

facter-1.6.5-1.el6.noarch.rpm

puppet-2.7.9-2.el6.noarch.rpm

puppet-server-2.7.9-2.el6.noarch.rpm

首先添加puppet的官方的源,以便在安装的时候可自动下载puppet的依赖包,具体看附录3:

# rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-7.noarch.rpm  

在server节点安装 puppetmaster:
#sudo yum install facter-1.6.5-1.el6.noarch.rpm  puppet-2.7.9-2.el6.noarch.rpm  puppet-server-2.7.9-2.el6.noarch.rpm
可通过脚本 /etc/init.d/puppetmaster 来控制状态(start,restart,stop,status)
在client节点安装 puppet:
#sudo yum install facter-1.6.5-1.el6.noarch.rpm puppet-2.7.9-2.el6.noarch.rpm
可通过脚本 /etc/init.d/puppet 来控制状态
注:如系统未安装运行puppet所需的ruby环境,上述两条指令会自动安装。

然后配置文件 /etc/puppet/puppet.conf。这是puppet的主要配置文件。
在server节点,打开/etc/puppet/puppet.conf后,在[master]下添加当前机器的certname

[master]
certname=vm242.com

保存后重启服务:
#service puppetmaster restart 

在client节点,打开/etc/puppet/puppet.conf后,添加:

[agent]
certname=vm245.com
server=vm242.com
report=true
#pluginsync=true

注:当有ruby插件(如用户自定的资源database等)需要同步的时候,再取消pluginsync的注释。在puppet 3.0 里中,pluginsync 的默认值是true,在此之前的版本默认是false,要开启插件同步需明确写出pluginsync=true。 
然后重启puppet服务

#service puppet restart

client请求认证和manster接受请求的过程就与ubuntu一致。

正常情况下的安装请参照官方安装文档:http://docs.puppetlabs.com/guides/installation.html#red-hat-enterprise-linux-and-derivatives

附录1

redhat的防火墙机制比较严格,即使openstack已使用端口全开的访问机制,当client向master请求认证时,会出现:no route to host 的错误。这时请设置防火墙开放相应端口或关闭防火墙。

附录2 

puppet(Redhat) 最新的版本似乎只面向ec2,具体说是puppet所用的facter模块在启动时自ec2的网址发起链接,导致请求超时而产生错误。在终端输入 
#facter 
会出引发如下错误

/usr/lib/ruby/1.8/timeout.rb:64:in `rbuf_fill': execution expired (Timeout::Error)

……

from /usr/lib/ruby/site_ruby/1.8/facter/ec2.rb:5:in `metadata'
from /usr/lib/ruby/site_ruby/1.8/facter/ec2.rb:33

……
from /usr/bin/facter:74

可以看到,facter会去调用ec2.rb模块,导致请求超时。

附录3

puppet 安装依赖包:
Installing:
facter noarch 1.6.5-1.el6 /facter-1.6.5-1.el6.noarch 164 k
puppet noarch 2.7.9-2.el6 /puppet-2.7.9-2.el6.noarch 2.8 M
Installing for dependencies:
augeas-libs x86_64 0.9.0-4.el6 base 317 k
compat-readline5 x86_64 5.2-17.1.el6 base 130 k
libselinux-ruby x86_64 2.0.94-5.3.el6_4.1 updates 99 k
ruby x86_64 1.8.7.352-12.el6_4 updates 534 k
ruby-augeas x86_64 0.4.1-1.el6 puppetlabs-deps 21 k
ruby-libs x86_64 1.8.7.352-12.el6_4 updates 1.6 M
ruby-shadow x86_64 1.4.1-13.el6 puppetlabs-deps 11 k
Updating for dependencies:
libselinux x86_64 2.0.94-5.3.el6_4.1 updates 108 k
libselinux-utils x86_64 2.0.94-5.3.el6_4.1 updates 81 k

puppet常见错误总结   http://gzzanninghu.blog.163.com/blog/static/170583133201110163372699/

原创粉丝点击