一、安装环境

    centos6.5

    iptables、selinux关闭

    puppet版本2.7.20

二、安装准备

    1安装yum源,使用epel和rpmforge。使用最新版本可以安装puppet的官方源

    2设置主机名

     服务器端:master.test.com  172.16.30.220

     客户端:agent.test.com  172.16.30.154

    3服务器、客户端配置host文件。确保能够域名解析,生产环境应该架设DNS服务器实现域名解析。

      #vim /etc/hosts       

       172.16.30.220 master.test.com

       172.16.30.154 agent.test.com

    4时间必须同步

三、安装

    1服务器端安装

      #yum install -y puppet-server

      #chkconfig puppet on

      #service puppet start

      #chkconfig puppetmaster on

      #service puppetmaster start

     2客户端安装    

      #yum install -y puppet

      #chkconfig puppet on

      #service puppet start

      #vim /etc/puppet/puppet.conf

        server = master.test.com(添加)

      #service puppet restart

四、客户端申请证书

     puppet服务器端和客户端是基于ssl通信的,客户端需获取证书,获取证书分为为三种方式。

     1服务器端手动签发证书

        (1)客户端申请证书

            #puppet agent --test --server master.test.com --no-daemonize --verbose --debug 

               –no-daemonize 前台输出日志

               –verbose 输入更加详细的日志

               –debug 更加详细的日志,排错的时候使用

        (2)服务器端签发证书

            #puppet cert list --all (查看证书签发情况,+表示已签发,默认为自己签发证书)

               "agent.test.com"  (F7:4E:5B:86:16:51:D6:0C:A8:E7:1E:8B:46:BD:AE:B6)

             + "master.test.com" (D9:C1:2B:83:4C:50:3E:A9:93:20:0F:B6:C1:58:60:97) 

            #puppet cert --sign agent.test.com (为agent.test.com签发证书)

            #puppet cert --sign --all (为所有等待客户端签发证书)

            #puppet cert list --all

             + "agent.test.com"  (20:65:DC:4E:E7:BE:5A:0E:83:84:2D:C5:5E:8E:8C:C0)

             + "master.test.com" (D9:C1:2B:83:4C:50:3E:A9:93:20:0F:B6:C1:58:60:97)

      2服务器端自动签发证书

        (1)服务器配置文件

           #vim /etc/puppet/autosign.conf

            *.test.com (允许为所有以test.com结尾的主机自动签发证书)

        (2)客户端申请证书

            #puppet agent --test --server master.test.com --no-daemonize --verbose --debug

      3提前生成证书文件

         (1)服务器提前生成证书

            #puppet cert generate agent.test.com

         (2)服务器端将证书文件复制到客户端相同位置

             /var/lib/puppet/ssl/private_keys/agent.test.com.pem

             /var/lib/puppet/ssl/certs/agent.test.com.pem

             /var/lib/puppet/ssl/certs/ca.pem