注重体验与质量的电子书资源下载网站
分类于: 计算机基础 设计
简介
精通Puppet配置管理工具 豆 7.3分
资源最后更新于 2020-08-18 15:45:12
作者:[澳] James Turnbull
译者:高永超
出版社:人民邮电出版社
出版日期:2012-01
ISBN:9787115279514
文件格式: pdf
标签: Puppet 服务器管理 运维 配置管理 Linux 软件开发-配置管理 puppet 计算机
简介· · · · · ·
内容简介:
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
第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