标题：精通Puppet配置管理工具
基本信息
原书名：Pro Puppet  [1]
原出版社： Apress 
作者： (澳)James Turnbull    (美)Jeffrey McCune    [作译者介绍] 
译者： 高永超 
丛书名： 图灵程序设计丛书 
出版社：人民邮电出版社 
ISBN：9787115279514
上架时间：2012-5-10
出版日期：2012 年5月
开本：16开
页码：263
版次：1-1
所属分类： 计算机 > 硬件与维护 > 综合
内容简介
计算机书籍
《精通puppet配置管理工具》系统介绍了开源配置管理工具puppet，并提供了帮助使用puppet 的大量资源。书中讲述了如何创建puppet recipe、扩展puppet 并使用facter 整合来自服务器的配置数据，同时讲述了如何使用puppet 管理postfix、apache 和mysql 服务器，以及如何加载平衡puppet master。
《精通puppet配置管理工具》涵盖了安装、使用并利用puppet 进行开发所需要的全部知识、内部技巧和技术。非常适合系统管理员、操作人员和开发人员阅读。 
作译者
James Turnbull 开源拥趸，Linux Australia前任主席，经常在OSCON、Open Source Bridge、DevOpsDays等大会上发言。现任职于Puppet Labs。目前已有5本著作，均涉及开源软件。James是澳大利亚人，目前居住在美国奥勒冈州的波特兰。他的兴趣爱好十分广泛，包括烹饪、品酒、政治理论、新闻摄影以及哲学，最近还加入了波特兰Timbers协会足球队。
Jeffrey McCune Puppet社区成员，开源软件的支持者，经常在苹果的世界开发者大会、Macworld、Open Source Bridge、Velocity等大会上发言。现任职于Puppet Labs，致.. << 查看详细
目录
《精通puppet配置管理工具》 
第1章 开始使用puppet　　1 
1.1 什么是puppet　　1 
1.1.1 部署　　2 
1.1.2 配置语言和资源抽象层　　3 
1.1.3 事务层　　5 
1.2 选择正确的puppet版本　　5 
1.3 我能混用puppet的版本吗　　6 
1.4 安装puppet　　7 
1.4.1 在red hat企业版linux和fedora上面安装puppet　　7 
1.4.2 在debian和ubuntu上安装puppet　　8 
1.4.3 在opensolaris上安装puppet　　9 
1.4.4 从源码安装puppet　　9 
1.4.5 在微软windows系统上安装puppet　　10 
1.4.6 在其他平台上安装puppet　　10 
1.5 配置puppet　　11 
1.5.1 site.pp文件　　12 
1.5.2 配置防火墙　　13 
1.5.3 启动puppet master　　13 
1.6 连接第一个agent　　15 
.1.7 创建第一个配置　　17 
1.7.1 扩展site.pp文件　　17 
1.7.2 agent的配置　　18 
1.8 创建第一个模块　　19 
1.8.1 模块结构　　20 
1.8.2 init.pp文件　　20 
1.9 应用第一个配置　　23 
1.10 小结　　24 
1.11 相关资源　　25 
第2章 使用puppet构建主机　　26 
2.1 入门　　27 
2.1.1 安装puppet　　27 
2.1.2 配置节点　　27 
2.2 魔术般的模块　　32 
2.3 创建一个模块管理ssh　　35 
2.4 创建一个模块来管理postfix　　43 
2.4.1 postfix::install类　　44 
2.4.2 postfix::config类　　44 
2.4.3 postfix::service类　　47 
2.5 使用mysql模块管理mysql　　48 
2.5.1 mysql::install类　　49 
2.5.2 mysql::config类　　49 
2.5.3 mysql::service类　　50 
2.6 管理apache和网站　　51 
2.6.1 apache::install类　　51 
2.6.2 apache::service类　　52 
2.6.3 apache定义　　52 
2.7 使用puppet模块管理puppet　　55 
2.8 小结　　58 
2.9 相关资源　　58 
第3章 使用puppet环境　　59 
3.1 配置puppet环境　　60 
3.1.1 填充新的环境　　61 
3.1.2 在开发环境中作出变更　　62 
3.2 使用puppet agent测试新的环境　　64 
3.3 环境分支和合并　　65 
3.3.1 设置一个中心仓库　　66 
3.3.2 使用分支做出一个变更　　67 
3.3.3 将变更合并到测试环境　　75 
3.4 生产环境版本　　78 
3.5 小结　　79 
3.6 相关资源　　80 
第4章 puppet的可扩展性　　81 
4.1 明确面临的挑战　　81 
4.2 使用apache和passenger运行puppet master　　82 
4.2.1 在企业版linux上安装apache和passenger　　82 
4.2.2 在基于debian的系统上安装apache和passenger　　83 
4.2.3 使用ruby gem安装passenger　　84 
4.2.4 配置apache和passenger　　84 
4.2.5 在apache中测试puppet master　　87 
4.3 对多个puppet master使用负载均衡　　88 
4.3.1 http的负载均衡　　89 
4.3.2 puppet ca的负载均衡配置　　98 
4.4 测量性能　　106 
4.5 小结　　108 
4.6 相关资源　　108 
第5章 外部puppet配置　　109 
5.1 enc　　110 
5.1.1 使用enc配置节点　　111 
5.1.2 用shell脚本编写的enc　　111 
5.1.3 用ruby编写的enc　　112 
5.1.4 用perl编写的enc　　114 
5.1.5 后端化的节点分类器　　115 
5.2 在ldap中存储节点配置　　116 
5.2.1 安装ruby ldap库　　116 
5.2.2 设置ldap服务器　　117 
5.2.3 添加puppet方案　　117 
5.2.4 在puppet中配置ldap　　118 
5.3 小结　　120 
5.4 相关资源　　121 
第6章 配置的导出与存储　　122 
6.1 虚拟资源　　122 
6.1.1 声明和实例化一个虚拟资源　　123 
6.1.2 使用realize函数　　124 
6.1.3 实例化多个虚拟资源　　124 
6.1.4 关系链语法　　125 
6.2 导出资源与配置存储　　126 
6.2.1 用于配置存储的数据库服务器　　126 
6.2.2 配置puppet master来进行配置存储　　128 
6.2.3 添加一个mysql表索引　　130 
6.3 使用导出资源　　131 
6.3.1 自动化的ssh主机公钥管理　　131 
6.3.2 导出负载均衡器后端资源　　134 
6.3.3 自动化的nagios服务检测　　136 
6.4 扩展配置存储　　139 
6.4.1 简化的配置存储　　139 
6.4.2 配置存储的队列支持　　140 
6.4.3 在企业版linux系统上安装activemq　　141 
6.4.4 在基于debian的系统上安装activemq　　142 
6.4.5 puppet master queue的设置　　144 
6.5 过期的资源　　145 
6.6 小结　　146 
6.7 相关资源　　146 
第7章 puppet控制台：puppet dashboard和foreman　　147 
7.1 puppet dashboard　　147 
7.1.1 安装puppet dashboard　　148 
7.1.2 配置dashboard　　151 
7.1.3 运行puppet dashboard　　152 
7.1.4 集成puppet dashboard　　155 
7.1.5 外部节点分类器　　159 
7.1.6 日志记录、数据库备份和性能　　161 
7.2 the foreman　　162 
7.2.1 安装foreman　　163 
7.2.2 配置foreman　　164 
7.2.3 启动foreman　　166 
7.2.4 整合foreman的能力　　166 
7.2.5 在foreman中显示报告　　168 
7.2.6 在foreman中显示节点信息　　169 
7.2.7 使用foreman来触发puppet运行　　170 
7.3 小结　　171 
7.4 相关资源　　171 
第8章 工具和集成　　172 
8.1 puppet forge和模块工具　　172 
8.1.1 安装puppet模块工具　　173 
8.1.2 在forge中搜索并安装一个模块　　174 
8.1.3 使用一个模块　　175 
8.1.4 使用puppet-module工具创建一个模块　　177 
8.2 puppet ruby dsl　　187 
8.2.1 面临的问题：来自数据的资源　　187 
8.2.2 从数据中声明资源　　187 
8.3 cucumber puppet　　197 
8.3.1 安装cucumber puppet　　198 
8.3.2 编写一个故事　　199 
8.3.3 测试基本的目录策略　　202 
8.3.4 验证指定的资源　　204 
8.4 小结　　209 
8.5 相关资源　　210 
第9章 puppet的报告系统　　211 
9.1 入门　　211 
9.2 配置报告系统　　213 
9.3 报告处理器　　214 
9.3.1 log　　214 
9.3.2 tagmail　　214 
9.3.3 rrdgraph　　215 
9.3.4 http　　216 
9.4 自定义报告　　217 
9.5 小结　　219 
9.6 相关资源　　219 
第10章 扩展facter和puppet　　220 
10.1 编写并分发自定义的fact　　220 
10.1.1 配置puppet来使用自定义的fact　　220 
10.1.2 编写自定义fact　　222 
10.1.3 测试fact　　224 
10.2 开发自定义的类型、提供者和函数　　225 
10.2.1 为自定义的类型、提供者和函数配置puppet　　225 
10.2.2 编写一个puppet类型和提供者　　226 
10.2.3 编写一个parsed file类型和对应的提供者　　231 
10.2.4 一个更加复杂的类型和提供者　　234 
10.2.5 测试类型和提供者　　237 
10.2.6 编写自定义函数　　238 
10.3 小结　　240 
10.4 相关资源　　240 
第11章 marionette collective　　242 
11.1 安装和配置rabbitmq　　243 
11.1.1 在debian上安装rabbitmq　　244 
11.1.2 在rhel / centos上安装rabbitmq　　246 
11.1.3 rabbitmq的配置　　247 
11.1.4 在debian和ubuntu上安装mcollective　　248 
11.1.5 在企业版linux上安装mcollective　　250 
11.1.6 mcollective服务端的配置　　251 
11.2 mcollective的插件　　253 
11.2.1 puppet agent的mcollective插件　　253 
11.2.2 mcollective的facter插件　　258 
11.2.3 更多插件　　259 
11.3 使用元数据定位主机　　260 
11.4 小结　　261 
11.5 相关资源　　262 
附录a 和puppet一起工作　　263