案例概述
随着服务器数量的增多,管理的任务量也逐渐增加,这时就需要简洁的、强大的框架来 完成系统管理任务
实现这一目的,我们将引入一批工具,这批工具是 “可编程”的,管理人员只需要为 这批工具写上几行“代码”,它便会自动完成所有的工作,这批工具就是自动化puppet
在一些大型互联网企业中,自动化管理着几百甚至上千台服务器,它可以针对多台服务 器进行统一操作 ,例如部署统一软件、进行统一上线维护等,而且能够快速完成上线 部署,减少人力及人力误操作风险
案例分析-----工作流程


案例分析-----配置要求
搭建puppetmaster
搭建puppetclient
配置测试节点
客户端主动拉取
服务器推送
实验环境搭建
1台Puppetmaster服务器(NTP服务器) 2台Puppetclient客户端
Puppetmaster服务器:192.168.11.10/24
Puppetclient1:192.168.11.11/24
Puppetclient2:192.168.11.12/24
配置Puppetmaster服务器
基本配置
关闭防火墙设置ip

配置yum仓库文件


测试yum
![]()
搭建Puppetmaster服务器
规划服务器主机名
![]()

![]()

临时修改主机名并生效

配置服务器时间同步

![]()
![]()
![]()
时间同步(由于是本机就不用此步骤 可以在客户端上测试)
![]()
安装ruby

查看ruby的版本等信息
![]()
安装puppet、facter
![]()
解压缩facter包

解压缩puppet包
![]()
![]()
![]()

![]()
![]()
修改配置文件puppet.conf
![]()

启动puppet主程序
![]()
配置Puppetclient1服务器
基本配置

配置yum仓库文件


搭建Puppetclient1服务器
规划服务器主机名
![]()

![]()

临时修改主机名
![]()
配置服务器时间同步

![]()



尝试与服务器同步提示已被占用
![]()
查看PID并杀死 重新尝试与服务器同步成功


安装ruby

查看版本
![]()
安装puppet、facter
![]()



修改配置文件puppet.conf
![]()

申请、注册puppetclient1
提交注册申请(Client1操作)

查看注册的客户端(Master上操作)
![]()
对未注册的客户端进行注册(Master操作)

在目录中查看以注册的客户端信息(Master操作)

配置Puppetclient2服务器
基本配置

配置yum仓库文件
![]()

搭建Puppetclient2服务器
规划服务器主机名
![]()

![]()

配置服务器时间同步
![]()


安装ruby

安装puppet、facter



修改配置文件puppet.conf
![]()

申请、注册puppetclient2
提交注册申请(Client2操作)

查看注册的客户端(Master上操作)
![]()
对未注册的客户端进行注册(Master操作)

在目录中查看以注册的客户端信息(Master操作)

实例:批量修改puppetclient的ssh服务端口为9922
要领:
创建ssh模块 模块目录为:ssh 包含有3个子目录:manifests、templates、files
manifests目录 :必须包含一个init.pp文件(模块的入口文件)
files目录 :模块的文件发布目录,类似与rsync
templates目录 :包含erb模型文件(很少用)
测试节点:
节点信息 /etc/puppet/manifests/nodes/nodes
模块信息 /etc/puppet/modules
创建必要的目录(创建目录时目录名打错 后来统一改回manifests)
![]()
![]()
![]()

进入manifests目录

创建模块配置文件install.pp
![]()

创建模块配置文件config.pp
![]()

创建模块配置文件service.pp
![]()

创建模块主配置文件init.pp
![]()

建立服务器端ssh统一维护文件
![]()
创建测试节点配置文件
![]()

将测试节点载入puppet(site.pp)

修改服务器端维护的sshd_config配置文件
![]()

重启puppet

同步服务器的脚本(命令)
客户端主动拉取同步------方式一 在Client1上执行


服务器推送同步------方式二 在Client2上执行
修改配置文件puppet
![]()
启动puppet客户端

向client2主动推送同步-----在master上执行

验证推送结果------在client2上执行

来源:CSDN
作者:LKmnbZ
链接:https://blog.csdn.net/qq_37077262/article/details/104056411