当前位置:主页 > 计算机电子书 > 操作系统 > Puppet下载
Puppet实战

Puppet实战 PDF 高清版

  • 更新:2019-12-18
  • 大小:77.9 MB
  • 类别:Puppet
  • 作者:刘宇
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

puppet领域的经典之作,资深运维专家多年一线经验结晶,51cto技术社区强烈推荐,新浪研发中心平台架构部高级总监童剑、资深运维专家田逸、中国最大开源社区chinaunix创始人之一南非蜘蛛、openstack基金会董事程辉等业界资深专家联袂推荐。 《puppet实战》详细讲解了puppet的功能和使用方法,深入剖析了puppet的工作原理,系统总结了puppet的使用技巧,包含大量来自一线的实战案例和最佳实践。

全书一共20章,共分为四部分:准备篇(第1~4章)介绍了puppet用途、组织结构、工作原理、核心配置文件、各种平台下的安装与配置,以及它的运行环境,是使用puppet前必须做好的准备工作;基础篇(第5~10章)详细讲解了puppet的理论知识和功能使用,puppet的语法与命令、资源、模块、类、模板、节点管理,以及facter、数组、函数、变量和标签;实战篇(第11~13章)通过几个经典案例,包括大规模nginx集群的部署方案、分布式监控系统部署方案、openstack快速部署方案等,使读者能快速将puppet运用到实践中;进阶篇(第14~20章)综合讲解了puppet的扩展模式、版本控制、报告系统、控制台、扩展工具及mcollective,让读者了解一个完整的puppet生产流程。

目录

  • 《puppet实战》
  • 前  言
  • 第一部分 准备篇
  • 第1章 认识puppet 2
  • 1.1 puppet的起源与发展现状 2
  • 1.1.1 什么是puppet 2
  • 1.1.2 puppet起源与发展 2
  • 1.1.3 版本语言特征 3
  • 1.1.4 命令差异 4
  • 1.1.5 puppet 3.0新特性 4
  • 1.2 为什么要使用puppet 5
  • 1.2.1 都有谁在使用puppet 5
  • 1.2.2 常见集中化管理工具对比 5
  • 1.2.3 推荐puppet的理由 6
  • 1.3 puppet的作用和特色 6
  • 1.3.1 为什么要有自己的语言 6
  • 1.3.2 为什么是ruby 6
  • 1.3.3 管理任何机器 6
  • 1.4 puppet组织结构 7
  • 1.5 puppet工作原理 7
  • .1.5.1 puppet基本结构 7
  • 1.5.2 puppet是如何工作的 8
  • 1.5.3 puppet数据流 8
  • 1.5.4 文件结合 9
  • 1.5.5 详细交互过程 9
  • 1.5.6 安全与认证 10
  • 1.6 puppet核心配置文件详解 11
  • 1.6.1 主配置文件puppet.conf 11
  • 1.6.2 主机配置文件site.pp 13
  • 1.6.3 认证与安全配置文件 14
  • 1.6.4 客户端自动认证配置 16
  • 1.6.5 报告系统配置 16
  • 1.6.6 文件系统配置文件 16
  • 1.7 本章小结 17
  • 第2章 puppet安装与配置 18
  • 2.1 puppet对各系统平台的支持 18
  • 2.2 puppet对ruby的支持 19
  • 2.3 puppet的安装步骤 19
  • 2.4 在linux下安装 20
  • 2.4.1 包管理器方式安装 21
  • 2.4.2 从源代码进行安装 23
  • 2.4.3 从git版本库进行安装 24
  • 2.4.4 通过gems进行安装 25
  • 2.5 在mac os x下安装 25
  • 2.5.1 通过二进制发布包进行安装 25
  • 2.5.2 从git版本库进行安装 26
  • 2.5.3 从ports仓库进行安装 27
  • 2.6 配置puppet 28
  • 2.7 在windows下安装与使用 30
  • 2.7.1 包管理器方式安装 31
  • 2.7.2 在windows下使用puppet 33
  • 2.7.3 puppet在windows下的功能 35
  • 2.8 如何升级 35
  • 2.9 本章小结 36
  • 第3章 创建你的第一个puppet配置 37
  • 3.1 配置一个测试节点 37
  • 3.2 检测你的配置文件 38
  • 3.3 客户端运行配置 39
  • 3.4 查看运行结果 40
  • 3.5 增加httpd模块 40
  • 3.6 本章小结 42
  • 第4章 puppet运行环境 43
  • 4.1 服务器端配置 43
  • 4.2 客户端配置 44
  • 4.3 如何运用环境配置 45
  • 4.4 本章小结 48
  • 第二部分 基础篇
  • 第5章 puppet语法与命令详解 50
  • 5.1 puppet的命名规范 51
  • 5.1.1 资源 51
  • 5.1.2 属性 51
  • 5.1.3 类 52
  • 5.1.4 模块 52
  • 5.1.5 节点 52
  • 5.2 主机、模块和类的命名 53
  • 5.2.1 主机的命名 53
  • 5.2.2 模块的命名 54
  • 5.2.3 类的命名 54
  • 5.3 资源、变量、参数和标签的命名 54
  • 5.3.1 资源的命名 54
  • 5.3.2 变量的命名 55
  • 5.3.3 参数的命名 55
  • 5.3.4 标签的命名 55
  • 5.4 puppet语法风格 55
  • 5.4.1 间距、缩进和空白字符 56
  • 5.4.2 注释 56
  • 5.4.3 变量的引用 56
  • 5.4.4 资源 57
  • 5.4.5 条件语句 60
  • 5.4.6 类 61
  • 5.5 检查命令的用法 64
  • 5.5.1 语法检查 64
  • 5.5.2 代码调试 65
  • 5.6 puppet命令详解 66
  • 5.6.1 puppet常用命令 68
  • 5.6.2 帮助命令详解 73
  • 5.6.3 模块和不常用命令 75
  • 5.7 本章小结 76
  • 第6章 puppet资源详解 77
  • 6.1 什么是资源 78
  • 6.1.1 图解核心资源 81
  • 6.1.2 什么是manifests 81
  • 6.1.3 资源的依赖 82
  • 6.2 虚拟资源? 85
  • 6.2.1 虚拟资源的定义 85
  • 6.2.2 虚拟资源的用法 86
  • 6.3 常用资源的用法 87
  • 6.3.1 用户资源 88
  • 6.3.2 用户组资源 90
  • 6.3.3 软件安装 91
  • 6.3.4 文件管理 94
  • 6.3.5 服务管理 97
  • 6.3.6 定时脚本 99
  • 6.3.7 执行命令 101
  • 6.3.8 调试与输出 103
  • 6.4 puppet作用域与变量 104
  • 6.4.1 作用域 104
  • 6.4.2 变量 108
  • 6.5 条件语句 110
  • 6.5.1 if语句 110
  • 6.5.2 case语句 112
  • 6.5.3 selector选择器 112
  • 6.6 表达式 113
  • 6.6.1 什么是表达式 113
  • 6.6.2 运用位置 114
  • 6.6.3 操作顺序 114
  • 6.6.4 比较运算符 114
  • 6.6.5 布尔运算符 115
  • 6.6.6 算术运算符 116
  • 6.7 函数 116
  • 6.8 数据类型 118
  • 6.8.1 布尔类型 118
  • 6.8.2 未定义 119
  • 6.8.3 字符串 119
  • 6.8.4 资源引用 120
  • 6.8.5 数字 120
  • 6.8.6 哈希类型 121
  • 6.8.7 正则表达式 121
  • 6.8.8 数组 122
  • 6.9 标签 123
  • 6.10 stage运行阶段 123
  • 6.11 本章小结 124
  • 第7章 puppet模块、类、模板 125
  • 7.1 图解模块结构 125
  • 7.2 模块管理 126
  • 7.2.1 实例:创建一个模块 127
  • 7.2.2 模块布局 129
  • 7.3 类管理 130
  • 7.3.1 类的定义 131
  • 7.3.2 类的继承 131
  • 7.3.3 参数化类 132
  • 7.4 模板管理 135
  • 7.4.1 定义与声明 135
  • 7.4.2 erb模板语法 136
  • 7.5 融合 139
  • 7.6 从puppet forge获取模块 141
  • 7.7 从example42获取模块 142
  • 7.8 本章小结 143
  • 第8章 节点管理 144
  • 8.1 什么是节点 144
  • 8.2 主机名命名规范 145
  • 8.3 节点继承 146
  • 8.3.1 节点继承关系 146
  • 8.3.2 继承变量覆盖 147
  • 8.3.3 默认类与默认节点 147
  • 8.3.4 节点继承的判断 148
  • 8.4 节点管理方法 149
  • 8.4.1 每个主机名独立 149
  • 8.4.2 采用正则匹配 150
  • 8.4.3 使用外部节点分类器 150
  • 8.4.4 利用web-ui管理 153
  • 8.5 如何选择合适的管理方式 154
  • 8.6 本章小结 154
  • 第9章 认识facter 155
  • 9.1 什么是facter 155
  • 9.2 facter的作用与特点 156
  • 9.3 facter的常用变量 157
  • 9.3.1 操作系统名 158
  • 9.3.2 操作系统相关 159
  • 9.3.3 主机名 159
  • 9.3.4 ip地址 160
  • 9.3.5 内存管理 160
  • 9.3.6 系统状态信息 161
  • 9.3.7 版本管理 161
  • 9.4 如何自定义fact 162
  • 9.5 案例一:条件语句 164
  • 9.6 案例二:匹配不同硬件配置 165
  • 9.7 本章小结 167
  • 第10章 小标签大用途 168
  • 10.1 puppet标签的定义 168
  • 10.2 puppet标签的说明 168
  • 10.2.1 自动分配标签 169
  • 10.2.2 tag元参数 169
  • 10.2.3 tag函数 170
  • 10.2.4 tagged函数 171
  • 10.2.5 识别标签 171
  • 10.3 指定标签运行特定配置 172
  • 10.3.1 在命令行中指定特定标签 172
  • 10.3.2 在配置文件中指定 174
  • 10.3.3 在node节点配置中指定 174
  • 10.4 标签的更多用法 175
  • 10.4.1 在收集资源中使用 175
  • 10.4.2 实例化资源 175
  • 10.4.3 创建资源集合 176
  • 10.5 本章小结 176
  • 第三部分 实战篇
  • 第11章 大规模nginx集群部署方案 178
  • 11.1 应用场景 178
  • 11.2 场景需求分析 178
  • 11.2.1 日常变更分析 178
  • 11.2.2 网络及架构分析 179
  • 11.2.3 软件安装分析 180
  • 11.2.4 软件配置分析 180
  • 11.2.5 节点管理分析 181
  • 11.3 合理规划 181
  • 11.3.1 系统安装 181
  • 11.3.2 系统初始化 182
  • 11.3.3 部署规划 182
  • 11.3.4 关注点 183
  • 11.4 实施步骤 183
  • 11.4.1 前期准备:创建软件仓库 183
  • 11.4.2 puppet配置文件管理 185
  • 11.4.3 初始化操作系统 187
  • 11.4.4 编写nginx模块 187
  • 11.4.5 采用forge的nginx模块 192
  • 11.5 本章小结 194
  • 第12章 分布式监控系统部署方案 195
  • 12.1 利用puppet部署zabbix 196
  • 12.1.1 zabbix简介 196
  • 12.1.2 zabbix架构 197
  • 12.1.3 利用puppet部署zabbix 198
  • 12.1.4 zabbix自定义监控 201
  • 12.2 利用puppet部署nagios 202
  • 12.2.1 nagios简介 202
  • 12.2.2 nagios架构 203
  • 12.2.3 nagios服务端安装 204
  • 12.2.4 nagios模块应用 206
  • 12.2.5 创建nagios客户端监控 208
  • 12.3 本章小结 210
  • 第13章 openstack快速部署方案 211
  • 13.1 openstack简介 211
  • 13.1.1 什么是openstack 211
  • 13.1.2 openstack的组件、服务及逻辑架构 212
  • 13.1.3 openstack版本说明 213
  • 13.2 部署openstack 214
  • 13.2.1 环境准备 214
  • 13.2.2 安装软件及puppet模块 216
  • 13.2.3 部署controller 218
  • 13.2.4 部署compute 220
  • 13.2.5 验证openstack部署 221
  • 13.3 本章小结 222
  • 第四部分 进阶篇
  • 第14章 puppet版本控制 224
  • 14.1 puppet版本控制方法 224
  • 14.1.1 为什么要使用版本控制 224
  • 14.1.2 版本控制的架构与原理 225
  • 14.1.3 git与svn的区别 226
  • 14.1.4 为什么采用git 226
  • 14.2 使用git实现puppet 226
  • 14.2.1 安装与配置git 227
  • 14.2.2 将puppet加入git 228
  • 14.2.3 使用rake自动更新副本 229
  • 14.2.4 使用hook实现自动语法检查 231
  • 14.3 本章小结 232
  • 第15章 puppet架构扩展与分布式 233
  • 15.1 puppet瓶颈分析 233
  • 15.1.1 单台puppet master瓶颈 233
  • 15.1.2 认证的瓶颈 234
  • 15.1.3 文件的瓶颈 234
  • 15.1.4 网路的瓶颈 234
  • 15.2 架构扩展之单台puppet master 234
  • 15.2.1 nginx+mongrel模式 235
  • 15.2.2 apache+passenger模式 238
  • 15.2.3 nginx+passenger模式 242
  • 15.3 架构扩展之多台puppet master 244
  • 15.3.1 配置前的准备 248
  • 15.3.2 puppet ca认证服务器部署 250
  • 15.3.3 puppet lb负载均衡器部署 251
  • 15.3.4 puppet master服务器部署 252
  • 15.3.5 puppet客户端配置 254
  • 15.3.6 验证架构 254
  • 15.4 架构扩展之利用git构建分布式的puppet 254
  • 15.4.1 实现原理 255
  • 15.4.2 安装与部署 256
  • 15.5 本章小结 259
  • 第16章 file资源管理优化 260
  • 16.1 深入理解file资源? 260
  • 16.2 操作实践 262
  • 16.3 file资源配置方法? 269
  • 16.3.1 模块文件目录配置 269
  • 16.3.2 统一文件目录配置 270
  • 16.3.3 content属性 271
  • 16.4 file资源的优化 271
  • 16.4.1 配置nginx代理 272
  • 16.4.2 选择file资源还是erb 272
  • 16.4.3 大文件下发方法 272
  • 16.5 从filebucket检索文件 272
  • 16.6 备份与恢复文件 275
  • 16.7 file资源的缺点 276
  • 16.8 本章小结 276
  • 第17章 强大的报告系统 277
  • 17.1 report介绍 277
  • 17.2 puppet信息记录方式 278
  • 17.3 tagmail发送邮件报告 279
  • 17.4 rrdgraph图形化报告 280
  • 17.5 自定义报告处理器 282
  • 17.6 本章小结 284
  • 第18章 必须了解的控制台 285
  • 18.1 puppet dashboard 285
  • 18.1.1 简介 285
  • 18.1.2 dashboard安装 285
  • 18.1.3 配置dashboard 287
  • 18.1.4 集成dashboard 292
  • 18.2 foreman 297
  • 18.2.1 foreman简介 297
  • 18.2.2 安装foreman 298
  • 18.2.3 配置foreman 303
  • 18.2.4 使用foreman管理puppet 311
  • 18.2.5 从foreman显示报告 313
  • 18.2.6 foreman其他功能 314
  • 18.3 本章小结 314
  • 第19章 puppet扩展工具 315
  • 19.1 生成html文档 315
  • 19.1.1 利用puppet doc生成html 316
  • 19.1.2 puppet doc的其他使用方法 318
  • 19.2 生成依赖关系图 319
  • 19.2.1 什么是关系图 319
  • 19.2.2 配置方法 319
  • 19.2.3 关系图说明? 322
  • 19.3 puppetdb 322
  • 19.3.1 puppetdb功能与特性 322
  • 19.3.2 安装puppetdb 324
  • 19.3.3 puppetdb配置文件详解 326
  • 19.3.4 配置与使用puppetdb 329
  • 19.3.5 puppetdb瓶颈 332
  • 19.4 hiera 335
  • 19.4.1 hiera的特点 335
  • 19.4.2 hiera的使用 335
  • 19.5 本章小结 335
  • 第20章 mcollective结合 336
  • 20.1 mcollective简介 336
  • 20.1.1 什么是mcollective 336
  • 20.1.2 mcollective角色互换 337
  • 20.1.3 mcollective的特点 338
  • 20.1.4 mcollective给puppet带来的改变 338
  • 20.2 消息中间件 339
  • 20.2.1 stomp 339
  • 20.2.2 activemq 339
  • 20.2.3 rabbitmq 339
  • 20.3 标准化部署mcollective 340
  • 20.3.1 体系结构与配置 340
  • 20.3.2 安全模型 340
  • 20.3.3 未来扩展 341
  • 20.4 部署mcollective步骤 341
  • 20.4.1 创建和收集证书 342
  • 20.4.2 部署和配置中间件 344
  • 20.4.3 mcollective安装与配置 348
  • 20.5 如何使用mcollective 355
  • 20.5.1 mco基本命令的用法 355
  • 20.5.2 执行rpc请求 356
  • 20.5.3 过滤器的使用 358
  • 20.6 mcollective使用 shell commands 359
  • 20.7 mcollective控制puppet 360
  • 20.8 本章小结 362

资源下载

资源下载地址1:https://pan.baidu.com/s/1fIRSMHST8GhT17xODPeVDA

相关资源

网友留言