共计 1846 个字符,预计需要花费 5 分钟才能阅读完成。
一:介绍
puppet 用于集中管理多台服务器的 file、package、server、cron、user、group、exec(执行 shell 命令)、yumrepo 等常用资源的 C / S 结构软件
二:puppet 工作流程
puppet 客户端通过 facter 收集客户端信息(主机名、内存、IP 地址、系统信息……)并发送给服务端
服务器端检测到客户端的主机名,然后到 manifest 里面解析对应的 node 配置(语法检测、生成伪代码、发送伪代码给客户端),只解析改节点的配置
客户端接收到代码后执行,然后客户端把执行结果传递给服务器端
服务器再把客户端的执行结果写入日志
三:安装配置
puppet server:192.168.1.10 master.puppet.com
puppet agent:192.168.1.11 agent.puppet.com
主机名和 IP 必须解析,可以手动修改 hosts 文件或使用 DNS 解析
配置 epel 源:
rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
puppet server 上操作:
yum install puppet-server -y
生成配置文件:
puppet master –genconfig > /etc/puppet/puppet.conf
touch /etc/puppet/manifests/site.pp
该文件相当于一个索引文件,记录载入 agent 配置,也可定义全局变量
例:
cat /etc/puppet/manifests/site.pp
import ‘nodes.pp’
import ‘nodes/*.pp’
$puppetserver=’master.puppet.com’
puppet agent 上操作:
yum install puppet -y
vim /etc/puppet/puppet.conf
在 main 中添加
server = master.puppet.com(master 主机名,必须可以 ping 通,绑 hosts 或 dns 解析)
在 agent 中添加
runinterval = 10(向 master 查询间隔时间,单位秒)
四:测试
puppet server 第一次启动:
puppet master –verbose –no-daemonize
puppet agent 第一次启动:
puppet agent –server=master.puppet.com –no-daemonize –verbose –noop –onetime
会报错没有认证, 在 CA 服务器上运行(这里 CA 和 puppet server 在一台上):
puppet cert –list 显示没有授权的客户端
puppet cert –sign agent.puppet.com
再次运行启动命令正常,则分别开启服务
/etc/init.d/puppetmaster start
chkconfig puppetmaster on
/etc/init.d/puppet start
chkconfig puppet on
Puppet 学习系列:
Puppet 学习一:安装及简单实例应用 http://www.linuxidc.com/Linux/2013-08/88710.htm
Puppet 学习二: 简单模块配置和应用 http://www.linuxidc.com/Linux/2013-08/88711.htm
相关阅读:
有关 Puppet agent 端三种备份恢复方案探讨研究 http://www.linuxidc.com/Linux/2013-07/87885.htm
选择更安全的方式注册你的 Puppet 节点 http://www.linuxidc.com/Linux/2013-07/87884.htm
通过配置 SSH 深刻理解 Puppet 的语法及工作机制 http://www.linuxidc.com/Linux/2013-07/87882.htm
Puppet 利用 Nginx 多端口实现负载均衡 http://www.linuxidc.com/Linux/2013-02/79794.htm
CentOS(5 和 6)下 Puppet 的 C / S 模式实例 http://www.linuxidc.com/Linux/2011-12/50502.htm
Puppet 的详细介绍 :请点这里
Puppet 的下载地址 :请点这里