设为首页 收藏本站
查看: 1053|回复: 0

[经验分享] 【中级篇】puppet部署与应用

[复制链接]

尚未签到

发表于 2018-8-2 08:50:08 | 显示全部楼层 |阅读模式
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)规划服务器主机名
DSC0000.png

DSC0001.png

DSC0002.png

  添加以下几行:
DSC0003.png

DSC0004.png

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

DSC0006.png

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

DSC0008.png

  Puppet作为NTP客户端的配置
DSC0009.png

  安装ruby
DSC00010.png

DSC00011.png

  安装完成后检查ruby版本。
DSC00012.png

  Puppet、facter 安装
DSC00013.png

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

  解压源码包
DSC00015.png

  编译安装源码包
DSC00016.png

  安装puppet:
  解压源码包:
DSC00017.png

  编译安装源码包:
DSC00018.png

  复制配置文件:
DSC00019.png

  修改文件属性:
DSC00020.png

DSC00021.png

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

  修改配置文件:
DSC00023.png

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

  启动Puppet主程序
DSC00025.png

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

DSC00027.png

DSC00028.png

  添加以下几行:
DSC00029.png

DSC00030.png

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

  2)服务器时间同步
DSC00032.png

DSC00033.png

  3)安装ruby
DSC00034.png

DSC00035.png

DSC00036.png

  4) puppet、facter安装
DSC00037.png

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

  编译安装源码包:
DSC00039.png

  安装puppet:
DSC00040.png

  编译安装源码包:
DSC00041.png

  复制配置文件:
DSC00042.png

  修改文件属性:
DSC00043.png

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

  修改配置文件:
DSC00045.png

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

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

DSC00048.png

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

DSC00050.png

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

  将未注册的客户端进行注册:
DSC00052.png

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

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

  2)修改权限:
DSC00055.png

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

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

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

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

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

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

DSC00062.png

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

DSC00064.png

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

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

  修改权限
DSC00067.png

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

DSC00069.png

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

DSC00071.png

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

DSC00073.png

  11)重启puppet
DSC00074.png

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

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

DSC00077.png

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

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

  最后一行添加:
DSC00080.png

DSC00081.png

  最后一行添加:
DSC00082.png

  2)启动puppet客户端
DSC00083.png

DSC00084.png

DSC00085.png

  确认启动ssh服务
DSC00086.png

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

  4)验证结果
DSC00088.png

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-545083-1-1.html 上篇帖子: puppet安装和部署 下篇帖子: puppet------安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表