11.16
http://yum.puppetlabs.com and
http://apt.puppetlabs.com 是puppet的rhel及其派生系统和debian和派生系统的源。
11.16 如果你希望puppet帮助你管理客户端的密码需要安装: ruby-shadow
11.16 调整agent更新时间,在puppet.conf的agent中添加runinterval=3600 也就是1小时。默认是半小时
11.16 [2012-02-04 modify ] 关于source与fileserver的关系的测试
11.16 [2012-02-04 modify ] 关于source与fileserver的关系的测试
条件:
当前master端使用的puppetmaster版本为:2.7.1
agent端使用的puppet版本为下图所示:
puppetmaster安装完成后,一般/etc/puppetmaster的目录结构为:
当我们从服务器端同步文件到agent端时,都希望真实的路径对于客户端是不可见的。在puppet中也提供了这个功能,让我们隐藏真实的路径。这需要我们在上图filesever.conf这个文件中进行设置。
1:
不启用 fileserver的情况下:
默认的情况下,fileserver中的设置是不启用的。这个时候,如果要启用source的功能,只能把文件放入自定义的模块中。
这个时候我们可以自己在/etc/puppet/modules/下面建立这个特定的模块文件夹(因为这个文件夹不依赖其他的文件,因此可以自己随意更改名称,在此名称设定成为
cui),之后在里面建立files文件夹,之后把文件(此处设定为test文件)添加到里面就可以了。这个时候文件的路径变成
/etc/puppet/modules/cui/files/test
如下图所示:
这个时候,我们可以将/etc/puppet/manifests/site.pp中的souce设定成为
source=>'puppet:///modules/cui/test'
如下图所示:
这个时候在agent端就可以更新文件了:
当在site.pp等配置文件中,用source来指定文件服务器上文件的位置的时候,需要在/etc/puppet/fileserver.conf中设置权限,来掩饰真实的路径,正常应该如下设置
[files]
path /var/lib/puppet/files
path /var/lib/puppet/files
2:
启用 fileserver的情况下:
在fileserver.conf中下面设置:
这样我们只需要建立这样的一个文件:/a/b/c/zz
之后就可以在客户端同步文件
一共同步了2个文件,一个是modules中相应的模块设置的,一个是利用虚拟路径同步的。
所以上面的这些东西为我之前的迷糊找到了答案:
之前的的问题是这样的【用斜粗体字标示】:
我一直用modules作为filesever.conf文件中虚拟路径的名称,但是就出现了如下的问题:
[root@client tmp]# puppet agent --verbose --no-daemonize --server server.example.com
notice: Starting Puppet client version 2.7.6
info: Caching catalog for client.example.com
info: Applying configuration version '1321395221'
err: /Stage[main]//File[/tmp/sudoersdddddddddd]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://server.example.com/modules/b/c.sh at /etc/puppet/manifests/site.pp:5
notice: Finished catalog run in 0.22 seconds
[root@client tmp]# puppet agent --verbose --no-daemonize --server server.example.com
notice: Starting Puppet client version 2.7.6
info: Caching catalog for client.example.com
info: Applying configuration version '1321395221'
err: /Stage[main]//File[/tmp/sudoersdddddddddd]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://server.example.com/modules/b/c.sh at /etc/puppet/manifests/site.pp:5
notice: Finished catalog run in 0.22 seconds
而如果不哟偶那个modules命名那就不会出现问题。比较奇怪,以后起名一定要是个个性的名字,要不就会有问题。
原因就在这里,因为modules这个名称是有固定含义的。
转载于:https://blog.51cto.com/sx521/774375