Rhel6-puppet集中配置管理系统配置文档
作者:网络转载 发布时间:[ 2015/4/17 11:47:12 ] 推荐标签:配置管理 Rhel6-puppet 配置文档
#配置server端
以下步骤在server12上实施:
[root@server12 ~]# yum localinstall rubygems-1.3.7-1.el6.noarch.rpm -y
[root@server12 ~]# yum install puppet-server -y
/etc/puppet 配置目录:
组织结构如下:
|-- puppet.conf #主配置配置文件,详细内容可执行 puppet --genconfig
|-- fileserver.conf #文件服务器配置文件
|-- auth.conf #认证配置文件
|-- autosign.conf #自动验证配置文件
|-- tagmail.conf #邮件配置文件(将错误信息发送)
#文件存储目录(puppet 会先读取该目录的.PP 文件<site.pp>)
|-- manifests
|--nodes
| puppetclient.pp
|-- site.pp #定义 puppet 相关的变量和默认配置。
|-- modules.pp #加载 class 类模块文件(include syslog)
|-- modules
#定义模块
|-- syslog
#以 syslog 为例
|-- file
|-- manifests
|-- init.pp
|-- templates
#class 类配置
#模块配置目录
|-- syslog.erb #erb 模板
puppet 的第一个执行的代码是在/etc/puppet/manifest/site.pp,因此这个文件必须存在,而 且其他的代码也要通过该文件来调用。
[root@server12 ~]# touch /etc/puppet/manifests/site.pp #没有此文件 puppet master 无法启动,配置后面再定义
[root@server12 ~]# /etc/init.d/puppetmaster start
[root@server12 ~]# netstat -antple
tcp 0 0 0.0.0.0:8140 0.0.0.0:* LISTEN 52 8849 1302/ruby
注:可以查看到8140端口说明启动成功.
#配置client端
以下步骤在server34上实施:
[root@server34 ~]# yum localinstall rubygems-1.3.7-1.el6.noarch.rpm -y
[root@server34 ~]# yum install puppet -y
puppet 客户端连接到 puppet master:
[root@server34 ~]# puppet agent --server server12.example.com --no-daemonize --verbose
Info: Creating a new SSL key for server34.example.com
Info: Caching certificate for ca
Info: Creating a new SSL certificate request for server34.example.com
Info: Certificate Request fingerprint (SHA256): 48:04:66:60:FF:A7:1E:34:04:2E:6E:8A:AE:A5:47:96:06:1E:CB:D0:0B:77:EA:E8:C1:A8:5D:01:85:AE:A0:DB
client 向 master 发出证书验证请求,然后等待 master 签名并返回证书。
参数--server 指定了需要连接的 puppet master 的名字或是地址,默认连接名为“puppet”的主机 ,如要修改默认连接主机可以修改/etc/sysconfig/puppet 文件中的 PUPPET_SERVER=puppet 选项
参数--no-daemonize 是 puppet 客户端运行在前台
参数--verbose 使客户端输出详细的日志
以下步骤在server12上实施:
[root@server12 ~]# puppet cert list #显示所有等待签名的证书
"server34.example.com" (SHA256) 48:04:66:60:FF:A7:1E:34:04:2E:6E:8A:AE:A5:47:96:06:1E:CB:D0:0B:77:EA:E8:C1:A8:5D:01:85:AE:A0:DB
[root@server12 ~]# puppet cert sign server34.example.com
Notice: Signed certificate request for server34.example.com
Notice: Removing file Puppet::SSL::CertificateRequest server34.example.com at '/var/lib/puppet/ssl/ca/requests/server34.example.com.pem'
在对证书签名后的两分钟内,在 agent 端(server34)上可以看到如下输出:
Info: Caching certificate for server34.example.com
Starting Puppet client version 3.3.2
Info: Caching certificate_revocation_list for ca
Info: Retrieving plugin
Info: Caching catalog for server34.example.com
Info: Applying configuration version '1385280311'
Info: Creating state file /var/lib/puppet/state/state.yaml
Finished catalog run in 0.06 seconds
如要同时签名所有证书,执行以下命令:
puppet cert sign --all
puppet cert clean server34.example.com #删除签名证书
#配置自动签证
以下步骤在server12上实施:
[root@server12 ~]# vim /etc/puppet/puppet.conf
[main]
autosign=true #允许所有客户端的认证
…
…
[root@server12 ~]# vim /etc/puppet/autosign.conf
*.example.com #表示允许所有 example.com 域的主机
[root@server12 ~]# /etc/init.d/puppetmaster reload
测试:再配置一台client端进行签证.
在实际中有时会修改 client 端的主机名,这样需要重新生成证书:
(1)在 server 端执行:puppet cert --clean server34.example.com #你要删除的原 client 端主机名
(2)在 client 端执行:rm -fr /var/lib/puppet/ssl/*
puppet agent --server server12.example.com --daemonize --verbose
#puppet 资源定义
以下资源均定义在server端/etc/puppet/manifest/site.pp 文件中,在没有指定节点的情况下,对所有 已经经过验证的 client 都生效。
1.创建文件
[root@server12 ~]# vim /etc/puppet/manifests/site.pp
node "server34.example.com"{
file {"/var/www/html/index.html": content => "server34.example.com",
mode => 600, #mode用于设置文件的权限
owner => puppet #owner用于设置文件的属主
}
}
node "server20.example.com"{
file {"/var/www/html/index.html": content => "server20.example.com",
mode => 644, #mode用于设置文件的权限
owner => puppet #owner用于设置文件的属主
}
}
测试:在各client端执行puppet agent --server server12.example.com --daemonize --verbose
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com