当前位置:首页 > 计算机网络 > 行业软件及应用 > 精通Puppet配置管理工具
出版社:人民邮电出版社
出版日期:2012-5
ISBN:9787115279514
作者:[澳] James Turnbull,[美] Jeffrey McCune
页数:265页
作者简介
内容简介:
Puppet是为了对操作系统基础设施进行更简单、更便捷的管理而开发的一款系统管理工具,它基于Ruby,既能以客户-服务器的方式运行,也能独立运行,而且上手容易,便于实施,自2005年问世以来迅速得到了广大系统管理员的热捧。
本书介绍如何使用Puppet来进行系统配置管理,涵盖在安装、使用、开发Puppet时所需要的知识、提示和方法。具体涉及如何创建Puppet配置、如何扩展Puppet、如何使用Facter从服务器上收集配置数据、如何使用Puppet来管理Postfix、Apache和MySQL服务器,以及如何针对Puppet Master做负载均衡。
无论你管理的是一个小型网络还是一个大型机构的IT基础设施,这本书都将帮助你使用Puppet立刻开始自动化任务,并创建相应的报表解决方案。现在,努力成为一个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
编辑推荐
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部署。Jeff目前居住在奥勒冈州的波特兰,喜爱钻研微控制器、动画、摄影、音乐,爱好徒步旅行以及沙滩长途步行。
译者简介:
高永超 专职SA,喜欢钻研架构和运维相关知识,有两年Puppet使用经验,现任豆瓣运维工
程师。网络ID为flex,邮箱flex@flib.me。
媒体关注与评论
“阅读过程中,我被这本书深深吸引了。我觉得这本书应当取名为‘精通部署技术’。因为它实际上还介绍了大量为Puppet及配置管理提供支持的工具。书中内容非常精彩,一册在手,便可帮助你悉数了解Puppet的前沿动态!” ——Sean P. Hull,MySQL、 Linux、EC2领域专家 “无论对初学者还是专业人士,本书都可作为Puppet的极好教材,而不仅仅是‘参考手册’。本书结构非常合理,介绍的概念清晰易懂,在阅读过程中时有惊喜。里面完全没有机械枯燥的介绍,而是一步步引领我沉醉于内容当中,一如沉醉于Puppet 本身。” ——Itamar Hassin,软件项目经理
图书封面
精通Puppet配置管理工具下载 精选章节试读 更多精彩书评