您的位置:首页 > 其它

【Puppet in action】 学习笔记之Puppet目录结构及配置文件说明

2015-11-05 01:10 946 查看
1、管理命令:
service puppetmaster start     --启动puppet server
puppet agent --server mytest1 --test     --客户端发起验证
puppet cert --list     --查看等待验证的主机
puppet cert sign mytest2     --签署主机mytest2的验证请求
puppet cert --clean mytest2    --删除某客户端的认证信息,需同时在客户端侧删除其ssl目录

2、Puppet目录及文件结构图(摘自Puppet in action):



3、主要模块及目录:
客户端重新签名,需要先删除/var/lib/puppet/ssl目录
服务端重新签名,也需要先删除签名文件:find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete
/etc/puppet/modules      --模块信息目录
/etc/puppet/manifests/nodes    --用于存放节点信息的目录,节点定义文件需在site.pp中引入

4、puppet.conf主配置文件:
puppetd --genconfig > /etc/puppet/puppet.conf     --生成Puppet配置文件
puppetmasterd--genconfig > /etc/puppet/puppet.conf
puppet doc --reference configuration      --查看配置参考手册

puppet.conf核心配置与常用配置说明(摘自Puppet in action)



详情,可参考http://docs.puppetlabs.com/references/  。

Puppet Master配置样例——puppet.conf:
[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[master]
pluginsync = true
reports = log, foreman
environment = production
certname = server.abc.com

Puppet Agent客户端主配置文件样例——puppet.conf:
[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
pluginsync = true
[agent]
classfile = $vardir/classes.txt     --关联与检索配置文件目录
localconfig = $vardir/localconfig     --设置本地缓存配置目录
runinterval = 1800
listen = true     --监听进程
report = true    
server = puppet.abc.com     --指定Master地址

5、主机配置文件site.pp
全局配置文件,默认目录为/etc/puppet/manifests。
puppet apply --genmanifest > /etc/puppet/manifests/site.pp     --命令生成site.pp文件
但通常为手工编辑site.pp,如:
Exec { path => "/usr/local/sbin:/usr/local/bin:/usr/sbin" }    
#设置环境变量
$fileserver = "puppet.abc.com"
$ntpserver = "ntp.abc.com"
Package { provider => "yum" }     #指定使用yum安装软件包
#以下为在所有节点上创建一个temp1.txt的文件
#node default {
#          file { "/tmp/temp1.txt": content => "Hello World!"; }
#          }
import "modules.pp"     #加载模块配置文件
import "nodes/*.pp"     #加载主机信息
import "test.domain.com.pp"     #加载测试主机

6、认证与安全配置文件namespaceauth.conf和auth.conf
namespaceauth.conf     --针对不同名称空间的权限控制,通常使用默认值

auth.conf     --Puppet中的ACL控制文件,主要用于控制Puppet's REST API的授权访问。
配置格式:



配置样例:
path     /facts
auth     yes
method     find, search
allow     a.abc.com, b.abc.com

7、客户端自动认证配置autosign.conf
autosign.conf     --允许该配置文件中定义的客户端自动完成签名验证。
配置样例:
re.abc.com
*.ad.abc.com
*.local

可以提前在Master上生成Puppet客户端的证书,然后复制到客户端相应目录下,以实现自动认证的配置。
puppet cert generate client.abc.com     --自动生成证书的命令
证书文件存放在:
/var/lib/puppet/ssl/private_keys/client.abc.com.pem
/var/lib/puppet/ssl/certs/client.abc.com/pem
/var/lib/puppet/ssl/certs/ca.pem
需要将以上文件复制到客户端主机相同的目录下。

8、报告系统配置tagmail.conf
tagmail.conf     --启用邮件发送报告的功能。
需要在Puppet Master端配置reports=tagmail
需要在Puppet Agent端配置report=true
默认使用本机sendmail发送,可修改reportform=smtpserver,使用指定的邮件服务器。

9、文件系统配置fileserver.conf
配置Puppet客户端允许/禁止访问Master的文件目录。
配置格式:
[mount_point]
     path     /path/to/files
     allow     *.abc.com
     deny     *.ad.abc.com
样例:
【files]

4000
     path     /etc/puppet/files
     allow     *.abc.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息