PUPPET集中配置(一)

      

 

  

      PUPPET集中配置管理系统较之于其余管理工具具备稳定性,可以管理服务器的整个管理周期,并使其配置有条不紊,会让你的系统同配置要求保持一致。本次经过 C/S 架构的配置使用Puppet 自带的语言来配置 Server 上的文件系统,Cron任务等,而后在各个服务器实现配置。经过对 Manifests Nodes Site.pp 等配置的编辑和修改,只需在 Server 端进行简单的编辑就能够实现集中配置管理。在 Nginx配置时, Nginx 会在启动时直接调用Puppet,而默认每半个小时的 Client Server 的更新让配置更加紧密同步,成功配置完成以后 Client 会向 Server 端反馈一个消息,若配置失败,也会反馈一个消息。linux

原理图:json

 

 

wKiom1ie7fzhc2SLAAJZTCJfhYw985.png-wh_50

 

系统环境:rhel 6.5 (selinux&iptables disabled)vim

Puppet master : 192.168.122.101 server1.example.comruby

Puppet client :192.168.122.102 server2.example.com服务器

  192.168.122.103 server3.example.com架构

*******DATE必定要同步,不然验证会失败*******ide


一,安装puppet工具

YUM 源及其所需安装包url

[puppet]spa

name=puppet

baseurl=http://yum.puppetlabs.com/el/6Server/products/x86_64/

gpgcheck=0

[ruby]

name=ruby

baseurl=http://yum.puppetlabs.com/el/6Server/dependencies/x86_64/

gpgcheck=0

 

#Yum install

rubygems-1.3.7-5.el6.noarch.rpm

facter-2.4.4-1.el6.x86_64.rpm

hiera-1.3.4-1.el6.noarch.rpm

rubygem-json-1.5.5-3.el6.x86_64.rpm

ruby-shadow-2.2.0-2.el6.x86_64.rpm

ruby-augeas-0.4.1-3.el6.x86_64.rpm

puppet-3.8.1-1.el6.noarch.rpm

puppet-server-3.8.1-1.el6.noarch.rpm(只有SERVER1服务端才安装SERVERClient不安装此包)

wKiom1ie70by1nb8AABXFqO3w3Q490.png

#Date 命令检查各个服务器的时间是否一致

wKiom1ie7kOxXNRtAAASLcGsQYo454.png-wh_50

 

二.客户端请求认证

puppet cert list

puppet cert list-all

puppet cert sign server2.example.com(许可server2 server1创建链接)

wKioL1ie7nbxmq_UAABVzMzWB58326.png-wh_50

ERROR 说明server2并无向server1请求认证,固然,由于咱们尚未发送过请求信息。

处理步骤:

1..)  agent端执行  puppet agent server server1.example.com--no-daemonize -vt 来给master发送认证请求。

     client master 发出证书验证请求,而后等待 master 签名并返回证书。

     参数 --server 指定了须要链接的 puppet master 的名字或是地址,默认链接名为                                 “puppet”的主机,如要修改默认链接主机能够修改/etc/sysconfig/puppet 文件中的                               PUPPET_SERVER=puppet 选项

     参数 --no-daemonize puppet 客户端运行在前台

     参数 -vttest verbose(使客户端输出详细的日志)

2.) 而后在master执行    puppet cert sign server2.example.com 来签名认证agent上的请求。

3.)  最后agent 端再次执行 puppet agent server server1.example.com就能获取认证。

wKioL1ie7rSzLXbvAABKBosWvyk095.png-wh_50

agent端获得上述图的结果就证实认证成功。

那么如何删除认证从新认证呢?以下图所示:

wKiom1ie7sbzJH3EAABZPNySU0k848.png-wh_50

系统给定了它的处理方法,我就再也不赘述了。

可是要记住,masteragent 都要删除认证信息并刷新的。

从新认证步骤跟以前的步骤相同的。

如要同时签名全部证书,执行如下命令:


# puppet cert sign--all

# puppet certclean desktop2.example.com

#删除签名证书

 

自动验证:

在 server 端, 编辑 puppet.conf 文件:

[main]

autosign =true   #容许全部客户端的认证

在/etc/puppet目录下建立 autosign.conf 文件,内容以下:

*.example.com      #表示容许全部 example.com 域的主机

# service puppetmaster reload

client 端只需执行:

server puppetstart便可。

三,对puppet内资源编辑定义

Master:

[root@server1puppet]# pwd

/etc/puppet/

[root@server1puppet]# vim /etc/puppet/manifests/site.pp

file {

        "/mnt/ADORU":

        content => "ADORU.COM\n";

#       source =>"puppet:///files/passwd"

}

wKiom1ie7wHydCOOAAAhaWmba6U834.png

[root@server1puppet]# vim /etc/puppet/fileserver.conf 

在最后一行加上   

 [files]

 path /etc/puppet/files

 allow *

wKioL1ie72rjGLoIAAAQMgGIt5o421.png

 

AGENT:

[root@server3puppet]# puppet agent --server server1.example.com --no-daemonize -vt 

[root@server3puppet]# cat /mnt/ADORU

ADORU.COM  能够看到server3的内容与咱们的MASTER规定的内容相同。

wKiom1ie73mhfyYhAACfW626mCk388.png

因而咱们在MASTERsite.pp所写的内容就被传至了AGENT/mnt/ADORU

MASTER

此次咱们换做直接将/etc/puppet/files/passwd 文件同步到AGENT上面

[root@server1puppet]# mkdir /etc/puppet/files/

[root@server1puppet]# cp /etc/passwd /etc/puppet/files/

[root@server1puppet]# md5sum files/passwd(用来与AGENT做比对,肯定内容一致)

ce995678da5101eee20bfb6f2425e9b9  files/passwd

[root@server1puppet]# vim ./manifests/site.pp

file {

        "/mnt/ADORU":

#       content => "ADORU.COM\n";

        source =>"puppet:///files/passwd"

}

 

 wKiom1ie756hK9vYAAAhO8cMY_w698.png


AGENT上执行puppetagent --server server1.example.com --no-daemonize -vt

wKioL1ie77fA2wylAABtBWrJwsg689.png

能够看到咱们的内容确实获得更新,md5发生了改变

并且/mnt/ADORU的内容发生变化,其md5值与上面的 passwd文件md5值相等为ce995678da5101eee20bfb6f2425e9b9

那么内容呢,咱们在AGENTcat /mnt/ADORU

wKiom1ie7_LAIl5jAAA-lPIVtbo668.png

没错呢,内容也是同样的,除此以外,puppet默认半小时同步一次(手动也能够),即便你不当心把AGENT的内容改了,它也能依靠这种原理自动还原回去,这充分体现了Puppet的稳定性.

好了,这就是开始的PUPPET安装和配置,接下来的详细内容将在下次向你们介绍.

相关文章
相关标签/搜索