《精通Puppet配置管理工具 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)克鲁姆等著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115368072
  • 页数:261 页
图书介绍:本书讲述了如何创建Puppet recipe、扩展Puppet并使用Facter整合来自服务器的配置数据,同时讲述了如何使用Puppet管理Postfix、Apache和MySQL服务器,以及如何加载平衡Puppet Master。涵盖安装、使用并利用当下流行的配置管理工具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