分类: 系统运维
2015-03-07 14:39:11
以centos6.5为例部署puppet3.7
puppet官方文档链接(可以查看puppet命令详细参数):
1、关闭iptables,selinux,或者设置允许puppet关联端口开放和进程执行。
2、下载yum源,默认centos6.5自带的yum源安装的puppet是2.7版本,这里下载puppet3.7版
wget
rpm -ivh puppetlabs-release-6-7.noarch.rpm
yum clean all
在服务端安装puppet-server:
yum -y install puppet-server
chkconfig puppet on
service puppetmaster start
在客户端安装puppet
yum -y install puppet
chkconfig puppet on
service puppet start
在客户端首次连接puppet
puppet agent --no-daemonize --onetime --verbose --debug --server=server.puppet.com
提示没有认证文件。
puppet cert list –all
查看刚才客户端的连接记录,有一条没有加号的认证记录需要签名
puppet cert --sign client.puppet.com
签名后在客户端再使一次,没有红色报错即可成功。
puppet agent --no-daemonize --onetime --verbose --debug --server=server.puppet.com
创建多个目录:
mkdir -p /etc/puppet/manifests/nodes
mkdir -p /etc/puppet/modules/test/{manifests,templates,files}
编辑配置文件:
vim /etc/puppet/manifests/site.pp
import "nodes/clent.puppet.com.pp"
vim /etc/puppet/manifests/nodes/client.puppet.com.pp
node 'client.puppet.com' {
include test
}
vim /etc/puppet/modules/test/manifests/init.pp
class test {
file { "/tmp/$hostname.txt":content=>"Hello World!";}
}
注意上面的调用关系,site.pp→client.puppet.com.pp→init.pp
检查脚本文件,不报错表示没有问题
puppet parser validate /etc/puppet/modules/test/manifests/init.pp
在客户端测试服务端的部署是否成功(带参数--test时不会生成pid文件):
puppet agent --server=server.puppet.com --debug --test