天天看点

关于整个puppet的学习发现一些的问题

1、在开始配置证书匹配时候,/etc/hosts的hostname、/etc/sysconfig/network的HOSTNAME要与puppet cert list --all显示客户端hostname的要一致,客户端的puppet配置里的server就是要指向服务端的hostname,不然证书无法匹配成功和无法从S发送到C

<a href="http://s4.51cto.com/wyfs02/M01/7D/91/wKioL1brYYrSunZlAAAjgOiGcQg871.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/7D/91/wKioL1brYYviB0YbAAA5_iNF00I265.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/7D/91/wKioL1brYgOD6jQ6AAAI4xval7s147.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M02/7D/94/wKiom1brYXPgHg_-AAAB5bsWp1g883.png" target="_blank"></a>

2、在配置模块那里的定义(这里不能填写hostname里的名字,需要填写命令行下正常显示的hostname,不然定义模块里的文件是发送不去客户端的),和一次性可以传送多个文件去客户端(node default  #这一个是全局配置,node slave/slave1  #针对指定客户端的配置)

上面的node slave不是*.com,如果是slave.com后导致模块里的文件无法传送,在客户端的/var/log/messages日志提示错误,slave1是那天临起床前突发奇想加进去(是slave的克隆机)

<a href="http://s5.51cto.com/wyfs02/M01/7D/94/wKiom1brYa6hB7v-AAARkKxeOmM315.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/7D/94/wKiom1brYa6ivGsuAAAQ_znEe2s411.png" target="_blank"></a>

所以发现上面错误提示,将模块的.com去掉(以.为分隔符,保留第一栏),接下客户端接收文件成功,日志也没有提示错误信息

<a href="http://s2.51cto.com/wyfs02/M01/7D/91/wKioL1brYmCgJ2cMAAAosXjuTHI364.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M02/7D/94/wKiom1brYdCgQc-hAAAMvE9jpjM451.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M02/7D/91/wKioL1brYmCj5ZhnAAAM3CgVjkc619.png" target="_blank"></a>

3、将服务端现成搭建好论坛上的apache的目录复制到/etc/puppet/modules/apache(apache必须作为另一个新模块,不能合在同一个模块中,不然加上recurse =&gt; "true"和purge =&gt; true这两个参数会报错)

报错如下:

Mar 13 17:55:22 slave puppet-agent[31445]: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not  find class testm for slave.com on node slave.com

所以需要这样做:

mkdir  -p  /etc/puppet/modules/apache/{files,manifests,templates}

vi /etc/puppet/modules/apache/manifests/init.pp

class apache{

file {"/tmp/apache":          #不要加apache的目录,直接写成/usr/local/即可,不然就重复目录了(图1)

owner =&gt; "root",

group =&gt; "root",

source =&gt; "puppet://$puppetserver/modules/apache",

recurse =&gt; "true",          #主目录下有子目录的递归作用

purge =&gt; true               #和服务器不同的删除掉(CS两边保持一致,同时加上recurse =&gt; "true"才有意义

}

<a href="http://s3.51cto.com/wyfs02/M02/7D/91/wKioL1brYtHynEekAABW2upJvNc930.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/7D/91/wKioL1brYvLC_1GXAAD1qu68_Ek740.png" target="_blank"></a>

下面是将testm和apache拆分出来后就不会报错了(图2)

<a href="http://s2.51cto.com/wyfs02/M00/7D/91/wKioL1brY0rCPIzbAABYQxKNZ2A264.png" target="_blank"></a>

PS:当复制文档内容到配置文件保存退出查看日志发现有提示错误,这时候需要对照一下内容是否正确,其次是一些标点符号

附:服务端的模块配置

<a href="http://s5.51cto.com/wyfs02/M00/7D/94/wKiom1brYxCS35PQAAA4bEzRWOQ556.png" target="_blank"></a>

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