于2017.04.21 从新浪博客搬迁过来

----------------------------------------------------------------


puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。

 

安装测试环境

服务器IP

服务器域名(hostname)

服务

192.168.5.134

master.puppet.com

Puppet Server

192.168.5.34

client34.puppet.com

Puppet client

 

一、    安装puppet(在服务端和客户端都需要操作)

1.分别设置server和client的安装前准备

  在192.168.5.134 服务端上

    echo "192.168.5.134       master.puppet.com         master

    192.168.5.34   client34.puppet.com        client34" >>/etc/hosts

    sed -i "s/HOSTNAME=.*/HOSTNAME=master.puppet.com/" /etc/sysconfig/network

    hostname master.puppet.com

 

  在192.168.5.34 客户端上

     echo "192.168.5.134       master.puppet.com         master

     192.168.5.34   client34.puppet.com        client34" >>/etc/hosts

     sed -i "s/HOSTNAME=.*/HOSTNAME=client34.puppet.com/" /etc/sysconfig/network

     hostname client34.puppet.com

        

     做完上面步骤都需要重新连接一下终端就能看到主机名改变了;

 

2.安装puppet所需要的ruby环境

  yum -y install ruby ruby-libs ruby-shadow(这个包centos默认yum仓库没有,但不影响在后面会自动给装上)

  安装一个带有puppet的yum源(这里面这个puppet版本目前是3.1.1)

  rpm -Uvh http://yum.puppetlabs.com/el/5/products/x86_64/puppetlabs-release-5-6.noarch.rpm

  安装puppet

  yum -y install puppet puppet-server facter(客户端只需要yum -y install puppet facter)

  其实这样就已经把puppet安装完了;很简单吧

 

3.启动puppet

   在服务端上启动

   service puppetmaster start

   在最初调试的时候可以使用调试模式,可以产生详细的调试输出

    puppet master --verbose --no-daemonize

 

   在客户端上启动

    puppet agent –t

    同样可以使用调试输出模式来进行测试

    puppet agent --server=master.puppet.com --no-daemonize --verbose –onetime

    这个--server也可以在客户端的配置文件/etc/puppet/puppet.conf 中main段指定这一参数

   b07e77fetda21158e3572&690

    简单解释一下后面几个参数的意思

    --server 这个很明显是指定puppet服务器

    --no-daemonize  这个是使进程在前台运行并将输出重定向到标准输出

    --verbose  这个是使进程输出详细的日志

    --onetime  这个是使agent只运行一次就停止了

    --debug    这个是可以输出更详细的日志,供我们查看

 

可能会遇到的问题:

err: Could not request certificate: Invalid group: 0

可能遇到这个错误提示,遇到这个提示大致有以下两个方面原因:

A. 有时候虽然你是用的root账户,但是启动的时候还是会报错,可以使用sudo来解决;

sudo puppet agent --server=master.puppet.com --no-daemonize --verbose

B. 某些文件权限不够,在/etc/puppet/下所有文件至少必须得有读的权限

-rw-r--r-- 1 root root 907 Mar 29 20:48 /etc/puppet/puppet.conf