您的位置:首页 > 其它

【中级篇】puppet部署与应用

2016-02-17 13:04 316 查看

Puppet部署与应用

1. 实验需求:1) 2台服务器部署puppet服务2) 1台服务器做puppetmaster和NTP Server3) 实现主动拉取,服务器推送同步。2. 实验环境:
主机操作系统IP地址主要软件
PuppetmasterNTP ServerCentOS6.5 X86_64192.168.10.30Facter-1.7.1.tar.gzPuppet-2.7.21.tar.gz
Puppetclient1CentOS6.5 X86_64192.168.10.15Facter-1.7.1.tar.gzPuppet-2.7.21.tar.gz
Puppetclient2CentOS6.5 X86_64192.168.10.18Facter-1.7.1.tar.gzPuppet-2.7.21.tar.gz
3. 实验步骤:基本安装操作:1.搭建puppetmaster1)规划服务器主机名





添加以下几行:




2).服务器时间同步
由于facter使用SSL证书,依赖时间同步,所以需要搭建NTP服务器。







添加两行: 其作用是当/etc/ntp.conf中定义的server都不可用时,将使用local时间作为NTP服务提供给NTP客户端。






Puppet作为NTP客户端的配置



安装ruby






安装完成后检查ruby版本。



Puppet、facter 安装



通过facter工具分析检测客户端传输过来的信息。
安装facter:



解压源码包



编译安装源码包



安装puppet:
解压源码包:



编译安装源码包:



复制配置文件:



修改文件属性:






Puppet服务证书请求与签名:
生产环境中iptables默认是全部关闭的
Master端配置:



修改配置文件:



在【main】标题下添加以下一行,配置服务器模块路径:



启动Puppet主程序



2.搭建puppetclient
首先配置puppetclient1,步骤如下:
1) 规划服务器主机名









添加以下几行:






确保可以用通过域名ping通Puppetmaster,



2)服务器时间同步






3)安装ruby









4) puppet、facter安装



通过facter工具分析检测客户端传输过来的信息。
安装facter:
解压源码包:



编译安装源码包:



安装puppet:



编译安装源码包:



复制配置文件:



修改文件属性:



Puppet服务证书请求与签名:
生产环境中iptables默认是全部关闭的



修改配置文件:



在【main】标题下添加以下一行,设置服务器的域名:




Puppetclient2的配置过程和puppetclient1的类似,注意将主机名改为client2.






下面的操作都跟client1 一样,这里我就不截图了。
Client端:
分别在puppetclient1和puppetclient2 上进行注册。






此时可以按ctrl+c 结束,因为puppet一直在等待任务,但是已经从server查看到申请信息。



将未注册的客户端进行注册:



可以通过目录去查看已经注册的客户端:



此时客户端已经完成证书的请求与签名。
3.配置实例:
1)配置一个测试节点:
节点信息:/etc/puppet/manifests/nodes
模块信息:/etc/puppet/modules/
为了保护Linux的ssh端***破,批量修改客户端的sshd端口,将端口22修改为9922,并实现重启工作。
Master端:
1)创建需要的必要目录:



2)修改权限:



此时/etc/puppet/modules/ssh/ 目录下结构如下:



3)创建模块配置文件install.pp



输入以下信息(首先确定客户端安装ssh服务)



4)创建模块配置文件config.pp



输入以下信息配置需要同步的文件



5)创建模块配置文件service.pp






6)创建模块主配置文件init.pp






此时/etc/puppet/modules/ssh/manifests/目录下有4个文件。



7)建立服务器端ssh统一维护文件
由于服务器端和客户端的sshd_config文件默认一样,此时将服务器端/etc/ssh/sshd_config复制到模块默认路径。



修改权限



8)创建测试节点配置文件,并将ssh加载进去






9)将测试节点载入puppet ,修改site.pp






10)修改服务器端维护的sshd_config配置文件






11)重启puppet



在client1 客户端主动拉取:(192.168.10.15)



此时在client1端已经执行成功,验证如下:






查看服务器ssh服务是否重启,端口是否生效。



服务器推送同步:
当大规模部署时采用服务器推送模式
Client2端:
1)修改配置文件



最后一行添加:






最后一行添加:



2)启动puppet客户端









确认启动ssh服务



Master端:
3)开始往客户端推送:



4)验证结果



查看服务器ssh服务是否重启,端口是否生效。




实验总结:
1.puppet可以在单机上使用,也可以在C/S结构上使用,在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppetclient,puppet服务器端只运行puppetmaster。
2.Facter工具使用SSL证书依赖时间同步,需要搭建NTP服务器。
3.通过一个配置实例批量修改客户端sshd端口。

本文出自 “IT随笔” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: