puppetrun配置教程与使用
十一月 16, 2011 by sky · Leave a Comment (Edit)
[导读]
群里经常有同学会问,puppetrun怎么配置不成功,老是被拒绝连接,像这类
报错 finished with exit code 2,其实配置puppetrun 配置并不难,可以参考
官方文档,但因众多同学的要求,写下puppetrun配置教程,关于puppetrun
使用,可以参阅命令行,本次配置是以puppet 2.6版本为例:
puppet 2.7版也是差不多的。
[基础]
puppet的安装与配置,puppet相关命令基础,puppetrun知道是干吗的,
puppet的整个工作流程,如还不清楚,可以参阅本站之前的相关文档。
【配置步骤】
1.修改客户端上的puppet的配置文件
vim /etc/puppet/puppet.conf
在[puppetd]后面添加
listen = true ##这个是让puppet监听8139端口。
说明,puppet 2.7版本的是添加在[agent]后面.
2.修改管户端的puppet的/etc/sysconfig/puppet
vim /etc/sysconfig/puppet
PUPPET_SERVER=puppet ##将puppet改为你对应的puppetmaster的主机名。
由于puppet 2.6版本用rpm包安装,没有namespaceauth.conf,这个文件必须要有,
否则启动puppet的时候,会有如下报错:
Will not start without authorization file /etc/puppet/namespaceauth.conf
3.创建namespaceauth.conf这个文件,添加如下内容:
cat /etc/puppet/namespaceauth.conf
[puppetrunner]
allow *
特别说明:puppet 2.7版本的还需要修改auth.conf。
在path /之前添加下内容,加粗部分:
path /run
method save
allow *
path /
auth any
4.配置完成后,启动puppet客户端。
/etc/init.d/puppet start
到此,puppet客户端已经配置完成,确保防火墙已开启8319端口,
为方便测试,可以关掉防火墙。接下来就进行测试。
[测试]
sky在puppetmaster上运行puppetrun进行测试,查看:
#puppetrun -p 10 --host web-01.test.com
Triggering web-01.test.com
web-01.test.com finished with exit code 0
Finished
已经成功运行。关于puppetrun用法,可以使用puppetrun --help进行查看。
【故障排查】
1.查看puppet的相关日志输出:
#tail -f /var/log/message
2.查看puppet 客户端进程是否开启:
#ps axf |grep puppet|grep -v grep
21045 ? Ssl 0:01 /usr/bin/ruby /usr/sbin/puppetd --server=puppet
请注意查看,有没有server=你puppetmaster主机名的,这串。
3.查看8139端口是否监听:
#netstat -nltp|grep 8139
tcp 0 0 0.0.0.0:8139 0.0.0.0:* LISTEN 21045/ruby
4.确认防火墙是否开启,或者从别的机器,telnet客户端的8139端口是否能连通。
#service iptables stop ##关闭防火墙
#telnet IP 8139 ## IP为客户端机器的IP
[总结]
puppetrun 2.6版本是这个命令,2.7版本里为puppet kick ,puppetrun可以使主控端对任意客户端
运行puppet操作。puppetrun 不能运行系统命令,如需要运行系统命令,则需要安装MC,另外加
相应的插件,可以对客户端软件包,进程状态,或者执行系统命令,进行全方位的操作。关于MC的安装
与配置,可以点击这里,本次puppetrun就配置与使用就到此结束