【中级篇】puppet部署与应用

Puppet部署与应用

1.          实验需求:

1)     2台服务器部署puppet服务

2)   1台服务器做puppetmaster和NTP Server

3)   实现主动拉取,服务器推送同步。

2.          实验环境:

主机

操作系统

IP地址

主要软件

Puppetmaster

NTP Server

CentOS6.5 X86_64

192.168.10.30

Facter-1.7.1.tar.gz

Puppet-2.7.21.tar.gz

Puppetclient1

CentOS6.5 X86_64

192.168.10.15

Facter-1.7.1.tar.gz

Puppet-2.7.21.tar.gz

Puppetclient2

CentOS6.5 X86_64

192.168.10.18

Facter-1.7.1.tar.gz

Puppet-2.7.21.tar.gz

3.      实验步骤:

基本安装操作:

1.搭建puppetmaster

1)规划服务器主机名

wKiom1bD9qXQFx9XAAA7JY2FfOA170.png 

【中级篇】puppet部署与应用_第1张图片 

wKioL1bD9yjgMd5iAAAOkHPZRx4935.png 

添加以下几行:

【中级篇】puppet部署与应用_第2张图片 

【中级篇】puppet部署与应用_第3张图片 

2).服务器时间同步

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

【中级篇】puppet部署与应用_第4张图片 

wKiom1bD9v2A6i8tAAAN_OayE4k555.png 

 

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

wKiom1bD9wujhSFlAAAQ6TEb2Tg188.png 

【中级篇】puppet部署与应用_第5张图片 

Puppet作为NTP客户端的配置

wKioL1bD95fCRIFcAAAzRBzj8oA595.png 

安装ruby

wKiom1bD90Ohw9zWAAAzaYiJuo0849.png 

wKioL1bD97qCx3udAAAht2J2SDQ658.png 

安装完成后检查ruby版本。

wKiom1bD92ej4zJqAABDwFLBp4E561.png 

Puppetfacter 安装

wKioL1bD993ztiF6AAAtuG6Tt34938.png 

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

安装facter:

【中级篇】puppet部署与应用_第6张图片 

解压源码包

wKioL1bD-ADzZldeAAAb5AZlXSI700.png 

编译安装源码包

wKiom1bD97mTGBfxAABB9Y6uTrA937.png 

安装puppet

解压源码包:

wKiom1bD99GjgipIAAAkFjYdxi8550.png 

编译安装源码包:

wKioL1bD-EagOSdbAABdp84K9Uo798.png 

复制配置文件:

【中级篇】puppet部署与应用_第7张图片 

修改文件属性:

wKiom1bD-A2i7VMBAAAxr1tZwAw063.png 

 wKioL1bD-KjzAQabAABbAEEVPSU676.png

Puppet服务证书请求与签名

生产环境中iptables默认是全部关闭的

Master端配置:

【中级篇】puppet部署与应用_第8张图片 

修改配置文件:

wKioL1bD-N6BFIhAAAAmrLvtqU8867.png 

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

wKiom1bD-IyRrydWAAAfCjxf7_o897.png 

启动Puppet主程序

wKiom1bD-JiDAF14AAAvAxPeAT0797.png 

2.搭建puppetclient

首先配置puppetclient1,步骤如下:

1) 规划服务器主机名

wKioL1bD-suBu0MMAAA0KAJSNGY999.png 

【中级篇】puppet部署与应用_第9张图片 

wKiom1bD-nyjdUO7AAAOpbat_V4212.png 

添加以下几行:

wKioL1bD-u2RUGnUAAAcFr6ATBk691.png 

【中级篇】puppet部署与应用_第10张图片 

确保可以用通过域名pingPuppetmaster

【中级篇】puppet部署与应用_第11张图片 

2)服务器时间同步

wKiom1bD-tiC1arvAAAr5YUQCAA351.png 

wKiom1bD-uixBtAZAABX3z231Ek400.png 

3)安装ruby

wKioL1bD-12wgqidAAA0Eki_DwI853.png 

wKiom1bD-wjwRRXHAAAi8qxbg80344.png 

wKioL1bD-3jzXul4AABFj98MguA597.png 

4) puppetfacter安装

wKiom1bD-yLhor9KAAAyTprgMxU159.png 

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

安装facter:

解压源码包:

wKioL1bD-5Ox3KdjAAAfRLoDDMw939.png 

编译安装源码包:

【中级篇】puppet部署与应用_第12张图片 

安装puppet

wKiom1bD-1rDAt7JAAAgDiPthrQ563.png 

编译安装源码包:

wKioL1bD-83A93BeAABkVLRkMgo889.png 

复制配置文件:

【中级篇】puppet部署与应用_第13张图片 

修改文件属性:

wKiom1bD-4nixVq4AAAyA7ptVkU255.png 

Puppet服务证书请求与签名

生产环境中iptables默认是全部关闭的

【中级篇】puppet部署与应用_第14张图片 

修改配置文件:

wKiom1bD-6jyka3TAAAnCfMOm94683.png 

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

 

wKioL1bD_BvRi5ZaAAAHyK4K31I000.png 

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

wKioL1bD_DuCdo4LAABB6_HKEW8761.png 

【中级篇】puppet部署与应用_第15张图片 

下面的操作都跟client1 一样,这里我就不截图了。

Client端:

分别在puppetclient1puppetclient2 上进行注册。

【中级篇】puppet部署与应用_第16张图片 

【中级篇】puppet部署与应用_第17张图片 

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

【中级篇】puppet部署与应用_第18张图片 

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

wKioL1bD_KSzzvxIAAAdy6q-vkc516.png 

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

【中级篇】puppet部署与应用_第19张图片 

此时客户端已经完成证书的请求与签名。

3.配置实例:

1)配置一个测试节点:

节点信息:/etc/puppet/manifests/nodes

模块信息:/etc/puppet/modules/

为了保护Linuxssh端***破,批量修改客户端的sshd端口,将端口22修改为9922,并实现重启工作。

Master端:

1)创建需要的必要目录:

wKioL1bD_ObirOIkAABj6ZJhZjI795.png 

2)修改权限:

wKiom1bD_JOQ7am8AAAr6LtgM-Q835.png 

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

【中级篇】puppet部署与应用_第20张图片 

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

wKiom1bD_LGjnRkXAAAqzNseQAM594.png 

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

【中级篇】puppet部署与应用_第21张图片 

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

wKioL1bD_TLQ7gP7AAAht1_BQDc279.png 

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

【中级篇】puppet部署与应用_第22张图片 

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

wKioL1bD_Vfh8zoPAAAkqRU0NUE023.png 

【中级篇】puppet部署与应用_第23张图片 

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

wKioL1bD_Xbg5ycBAAAn-bF7df4369.png 

wKiom1bD_SGy3TkdAAA0J2jwSdI935.png 

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

【中级篇】puppet部署与应用_第24张图片 

7)建立服务器端ssh统一维护文件

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

wKioL1bD_c3SisbeAAAxFiSuKiE926.png 

修改权限

wKiom1bD_XWgFAKyAAAzZo_ASog673.png 

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

wKioL1bD_fHy48zvAAAqcrw9WZU195.png 

【中级篇】puppet部署与应用_第25张图片 

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

wKioL1bD_hmgcwk-AAAwor2BVuc892.png 

wKiom1bD_cKjkdJ-AAAcRVwf2hc951.png 

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

wKiom1bD_c-R6XqdAAAskschuXE607.png 

【中级篇】puppet部署与应用_第26张图片 

11)重启puppet

【中级篇】puppet部署与应用_第27张图片 

client1 客户端主动拉取:(192.168.10.15

wKioL1bD_rKBxJ4wAAAfBqYoFZ4711.png 

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

wKiom1bD_luD8hrYAAAzhyXYbvg884.png 

【中级篇】puppet部署与应用_第28张图片 

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

【中级篇】puppet部署与应用_第29张图片 

服务器推送同步:

当大规模部署时采用服务器推送模式

Client2:

1)修改配置文件

wKioL1bD_uvy6otaAAAn21X-DpI540.png 

最后一行添加:

wKioL1bD_vaDGfNcAAAPErLWTGQ048.png 

wKiom1bD_p-SaN2hAAA8Hqzoxd8149.png 

最后一行添加:

wKiom1bD_q6CF-dTAAAQeJBXMTI693.png 

2)启动puppet客户端

wKioL1bD_yCi-YeUAAA1FAXPuY0666.png 

wKioL1bD_zLgrAVRAAA8gi-c0wA835.png 

【中级篇】puppet部署与应用_第30张图片 

确认启动ssh服务

【中级篇】puppet部署与应用_第31张图片 

Master端:

3)开始往客户端推送:

【中级篇】puppet部署与应用_第32张图片 

4)验证结果

wKiom1bD_w6xE6S6AAAS6uyAKQo079.png 

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

【中级篇】puppet部署与应用_第33张图片 

 

实验总结:

1.puppet可以在单机上使用,也可以在C/S结构上使用,在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppetclient,puppet服务器端只运行puppetmaster

2.Facter工具使用SSL证书依赖时间同步,需要搭建NTP服务器。

3.通过一个配置实例批量修改客户端sshd端口。

本文出自 “IT随笔” 博客,转载请与作者联系!

你可能感兴趣的:(操作系统,服务器,IP地址)