puppet master/agent 配置
安装
- master:
- yum install puppet-server
- agent:
- yum install puppet
自动签名
- puppet的master端
- touch autosign.conf
- 在autosign.conf中添加hostname, 一个hostname一行
配置master和agent
- master(监听在8140端口):
- puppet cert list --all 显示master检测到了所有的agent请求, 在hostname前面没有+的表示还没有签名, 此时需要puppet cert sign [hostname | --all]
- puppet master -v [--daemonize | --no-daemonize]
- agent:
- puppet agent --server=hostname [--daemonize | --no-daemonize]
配置kick(默认agent每30分钟发送一个request, 当我们需要立马让客户端实现一些功能时, 可以通过在服务器端使用puppet kick -p 10 -t hostname直接执行)
- 配置全部都在agent端
- 在/etc/puppet/puppet.conf中的[agent]中添加listen = true, 这样在启动puppet agent时就是开启8139端口去监听服务器发送过来的catalog, 接着直接执行
-
cd /etc/puppet; vim namespaceauth.conf,添加
[puppetrunner] allow master_node_name
-
vim /etc/auth.conf, 在末尾追加
path /run method save auth any allow *
- 在master端上为agent添加新的manifests的class
puppet pick -p 10 -t hostname
puppet多环境配置
- master中
- cd /etc/puppet
- mkdir environment
- 在[master]中, environments = pro,dev,test
- 添加[pro], [dev], [test]段
- mkdir -pv /etc/puppet/environment/{dev,pro,test}/{manifests,modules}
-
在每一个新增加段中
[dev] modulepath = /etc/puppet/environment/dev/modules manifests = /etc/puppet/environment/dev/manifests/site.pp fileserver.conf = /etc/puppet/fileserver.conf
- agent中
- agent想要用哪个环境就在[agent]中添加envrionment = pro
- 其他的配置和单环境一样
puppet的master扩展
注意
- 如果一个agent连接到了master, 而master中没有对应的catalog给agent, 所以会报错, 输出就像是java的报错