精通Puppet配置管理工具

精通Puppet配置管理工具

(美) 克鲁姆 (Krum,S.) , (美) 勒夫林根 (Hevelingen,W.) , (美) 凯罗 (Kero,B.) , (澳) 特恩布尔 (Turnbull,J.) , (美) 麦丘恩 (McCune,J.) , 著

出版社:人民邮电出版社

年代:2014

定价:69.0

书籍简介:

本书讲述了如何创建Puppet recipe、扩展Puppet并使用Facter整合来自服务器的配置数据,同时讲述了如何使用Puppet管理Postfix、Apache和MySQL服务器,以及如何加载平衡Puppet Master。涵盖安装、使用并利用当下流行的配置管理工具Puppet进行开发所需要的全部知识、内部技巧和技术。

作者介绍:

Spencer Krum Puppet专家,致力于运维开发以及教授黑客技术。目前就职于惠普公司。他是波特兰州立大学的计算机行动小组成员,经常在Puppet Conf、Open Source Bridge以及许多BarCamp和用户组中发言。 William Van Hevelingen 任职于波特兰州立大学的计算机行动小组,目前带领Unix组为波特兰州立大学Maseeh工程与计算机科学学院提供IT支持。他还定期在Open Source Bridge、Beaver BarCamp、Cascadia IT和LinuxFest Northwest等会议上发言。 Benjamin Kero 前俄勒冈州立大学开放源码实验室社区系统管理员,协助维护过几十个知名开源项目(包括Drupal和kernel.org)的IT基础设施。曾多次在世界范围内的许多关于运维和大规模系统扩展方面的会议上发言。 James Turnbull Linux Australia前任主席,曾就职于Puppet Labs公司。 Jeff McCune 目前就职于Puppet Labs公司,编写代码并帮助用户完成Puppet部署,同时定期参加一些会议并发言,例如苹果全球开发者大会、Macworld、Open Source Bridge、Velocity等。在环游世界的同时,也进行Puppet的教学和咨询工作。 李超(本书译者) Linux和开源技术爱好者,熟悉Python和Java程序设计。2010年毕业于北京理工大学,获得工学博士学位,目前就职于一家电信行业软件公司,从事数据挖掘方面的算法研究和软件开发。关注IT运维,喜欢阅读原版技术书籍,接触并使用Puppet后,深为其简洁的表达方式和强大的功能所吸引,既受益于开源社区良多,以为报,遂不揣浅陋,成此译作,希望能为开源社区和国内运维技术的发展尽一点绵薄之力。

书籍目录:

第1章 Puppet初体验 1

1.1 什么是Puppet 1

1.1.1 部署层 2

1.1.2 配置语言与资源抽象层 3

1.1.3 事务层 5

1.2 选择正确的版本 6

1.3 安装Puppet 6

1.3.1 Red Hat Enterprise Linux和Fedora 7

1.3.2 Debian和Ubuntu 8

1.3.3 OpenIndiana 9

1.3.4 Solaris 10和Solaris 11 9

1.3.5 基于源代码安装 9

1.3.6 Microsoft Windows 10

1.3.7 Mac 12

1.3.8 其他平台 15

1.4 配置Puppet 16

1.4.1 site.pp文件 17

1.4.2 防火墙配置 17

1.4.3 启动Puppet master 17

1.5 连接客户端 19

1.6 创建第一个配置项 21

1.7 创建一个模块 23

1.7.1 模块结构 23

1.7.2 init.pp文件 23

1.7.3 应用这个配置项 26

1.8 小结 27

1.9 相关资源 28

第2章 用Puppet构建主机 29

2.1 开始 30

2.1.1 安装Puppet 30

2.1.2 在Kickstart中集成和启动Puppet 30

2.2 配置节点 31

2.2.1 相似主机的处理方法 31

2.2.2 使用外部配置 32

2.2.3 默认节点 32

2.2.4 节点继承 32

2.2.5 变量域 33

2.2.6 Puppet Style Guide 36

2.3 用模块变魔术 36

2.3.1 将模块代码纳入版本控制 38

2.3.2 创建模块来管理SSH服务 40

2.3.3 创建模块来管理Postfix 49

2.3.4 用mysql模块管理MySQL 52

2.3.5 管理Apache与网站 56

2.3.6 用Puppet模块管理Puppet 60

2.4 小结 64

2.5 相关资源 64

第3章 开发和部署Puppet 65

3.1 puppet apply命令和操作模式 65

3.1.1 用Puppet做屏幕输出 65

3.1.2 用Notify测试Puppet行为 66

3.1.3 用puppet apply处理清单文件 66

3.2 前台运行Puppet Master 69

3.3 用Vagrant开发Puppet 71

3.3.1 Vagrant的初始设置 72

3.3.2 启动Vagrant沙箱 73

3.3.3 在Vagrant沙箱中配置Puppet 73

3.3.4 用Vagrant测试Puppet 74

3.3.5 销毁和重建Vagrant沙箱 74

3.4 环境 75

3.4.1 维护模块 76

3.4.2 外部模块开发工具 76

3.4.3 配置Puppet环境 76

3.4.4 复制新环境 77

3.4.5 创建代码库副本 77

3.5 改变开发环境 78

3.6 用Puppet agent测试新环境 80

3.7 环境的分支与合并 82

3.7.1 创建一个中央代码库 82

3.7.2 为模块创建裸代码库 82

3.7.3 作一些修改 83

3.8 通过Git分支创建动态Puppet环境 83

3.9 小结 87

3.10 相关资源 87

第4章 横向扩展Puppet 88

4.1 确定挑战 88

4.2 基于Apache和Passenger运行Puppet master 89

4.2.1 安装Apache和Passenger 89

4.2.2 配置Apache和Passenger 92

4.3 测试Apache中的Puppet master 96

4.4 为多个Puppet master做负载均衡 97

4.4.1 HTTP负载均衡 97

4.4.2 Puppet master工作进程配置 98

4.4.3 详解前端负载均衡器配置 101

4.4.4 测试负载均衡器配置 102

4.5 进一步扩展 108

4.6 其他负载均衡方案 119

4.6.1 基于DNS round robin的负载均衡 119

4.6.2 基于DNS SRV记录的负载均衡 119

4.6.3 使用TCP负载均衡 119

4.6.4 IP任播 122

4.6.5 独立运行模式下的Puppet 122

4.7 测试性能 125

4.8 避免惊群效应 127

4.9 小结 127

4.10 更进一步 127

4.11 相关资源 127

第5章 外部Puppet配置 129

5.1 外部节点分类 129

5.1.1 用外部节点分类脚本配置节点 130

5.1.2 Shell外部节点分类脚本 131

5.1.3 YAML中的参数化类 132

5.1.4 Ruby外部节点分类脚本 132

5.1.5 Perl外部节点分类脚本 134

5.1.6 基于数据库的外部节点分类脚本 135

5.2 用LDAP存储节点配置 136

5.2.1 安装Ruby LDAP库 136

5.2.2 配置LDAP服务器 137

5.2.3 添加Puppet模式 137

5.2.4 在Puppet中配置LDAP 138

5.3 小结 140

5.4 相关资源 140

第6章 导出和存储配置 141

6.1 虚拟资源 141

6.1.1 声明并实例化虚拟资源 142

6.1.2 用realize函数实例化虚拟资源 142

6.1.3 实例化多个虚拟资源 143

6.1.4 关系链语法 143

6.2 初识导出和存储配置 144

6.3 使用导出资源 146

6.3.1 SSH公钥的自动化管理 146

6.3.2 导出负载均衡器的工作进程资源 148

6.3.3 Nagios服务监控自动化 149

6.4 清除过期资源 152

6.5 小结 153

6.6 相关资源 153

第7章 Puppet控制台工具 154

7.1 Foreman 154

7.1.1 安装Foreman 154

7.1.2 从Puppet导入数据 158

7.1.3 连接第一个客户端 159

7.1.4 将Foreman用作ENC 160

7.1.5 Foreman的报告特性 161

7.1.6 用Foreman搜索节点信息 162

7.2 企业版Puppet控制台 163

7.2.1 安装企业版Puppet 163

7.2.2 连接PE客户端和控制台 164

7.2.3 为节点添加类 164

7.2.4 盘点服务 165

7.2.5 实时管理 165

7.3 Puppetboard 166

7.3.1 安装过程 166

7.3.2 控制中心的标签页 167

7.3.3 Puppetboard的未来 169

7.4 小结 169

7.5 相关资源 170

第8章 工具与整合 171

8.1 Puppet Forge与模块工具 171

8.2 从Forge中搜索并安装模块 172

8.3 创建一个模块 174

8.4 管理模块间依赖 176

8.4.1 Puppet librarian 176

8.4.2 r10k 177

8.4.3 Puppet-lint 178

8.5 测试模块 179

8.5.1 spec-puppet 179

8.5.2 TravisCI 184

8.5.3 rspec-system 185

8.6 使用Geppetto开发Puppet模块 188

8.7 小结 191

8.8 相关资源 191

第9章 Puppet的报告系统 192

9.1 报告系统初体验 192

9.2 配置报告系统 194

9.3 报告处理器 194

9.3.1 log 195

9.3.2 tagmail 195

9.3.3 rrdgraph 196

9.3.4 http 196

9.3.5 PuppetDB 197

9.4 自定义报告 197

9.5 其他报告工具 199

9.6 小结 199

9.7 相关资源 199

第10章 扩展Facter和Puppet 200

10.1 编写并发布自定义fact 200

10.1.1 Puppet的自定义fact配置 200

10.1.2 编写自定义fact 201

10.1.3 测试fact 204

10.1.4 外部fact 204

10.2 开发自定义类型、提供者和函数 205

10.2.1 配置Puppet的类型、提供者和函数 205

10.2.2 编写Puppet类型和提供者 206

10.2.3 编写一个解析文件类型和提供者 210

10.2.4 一个更复杂的类型和提供者 213

10.2.5 测试类型和提供者 216

10.2.6 编写自定义函数 216

10.3 小结 219

10.4 相关资源 219

第11章 MCollective 220

11.1 背景介绍 220

11.2 安装和配置MCollective 221

11.2.1 创建并保存证书 222

11.2.2 验证权限 223

11.3 测试 224

11.4 安装MCollective插件 225

11.4.1 Puppet agent插件 226

11.4.2 Facter插件 228

11.4.3 NRPE插件 228

11.5 通过元数据定位主机 230

11.6 附属插件 231

11.7 小结 231

11.8 相关资源 232

第12章 Hiera: 分离数据与代码 233

12.1 Hiera能做什么 233

12.2 在旧版Puppet上安装Hiera 235

12.3 Hiera初始配置 235

12.4 Hiera命令行工具 237

12.4.1 创建一个Hiera数据文件 237

12.4.2 执行Hiera查询 237

12.4.3 用Puppet做Hiera查询 238

12.4.4 浏览层次结构数据 238

12.4.5 创建动态层次结构 239

12.4.6 在Hiera查询中使用变量 239

12.4.7 结合Puppet和变量做Hiera查询 240

12.4.8 层次结构组织 240

12.5 复杂数据结构 241

12.5.1 返回结构化数据 241

12.5.2 数组合并 242

12.5.3 散列合并 243

12.6 其他后端 245

12.6.1 文件后端 246

12.6.2 JSON后端 248

12.6.3 MySQL后端 249

12.6.4 gpg后端 251

12.7 Hiera函数的高级用法 254

12.8 模块数据绑定 255

12.9 Hiera实例 257

12.9.1 create-resources()函数 258

12.9.2 将Hiera用作ENC 259

12.10 Hiera-2 260

12.11 小结 260

12.12 相关资源 261

内容摘要:

《精通Puppet配置管理工具(第2版)》系统介绍了开源配置管理工具Puppet,并提供了帮助使用Puppet的大量资源。书中介绍了如何将Puppet应用在包括Windows在内的多种平台上,如何使用Puppet模块和Hiera,如何使用大量免费好用的Puppet附属工具,如rspec-puppet、Geppetto和PuppetDB等。
  《精通Puppet配置管理工具(第2版)》涵盖了安装、使用并利用Puppet进行开发所需要的全部知识、内部技巧和技术,非常适合系统管理员、操作人员和开发人员阅读。

编辑推荐:

近几年发展迅速,用户已从最初的为小组织工作的系统管理员扩展到大企业中的开发者和IT经理,用户范围广泛分布在金融、科研、开发、零售、电子商务、电信和互联网等领域。

书籍规格:

书籍详细信息
书名精通Puppet配置管理工具站内查询相似图书
丛书名图灵程序设计丛书
9787115368072
如需购买下载《精通Puppet配置管理工具》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)69.0语种简体中文
尺寸24 × 19装帧平装
页数 138 印数 3000

书籍信息归属:

精通Puppet配置管理工具是人民邮电出版社于2014.10出版的中图分类号为 TP311.52 的主题关于 程序开发工具 的书籍。