新書推薦:
《
纯粹·古代中国的历史与制度
》
售價:HK$
62.7
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:HK$
58.2
《
一个英国军事顾问眼中的二战
》
售價:HK$
277.8
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:HK$
67.2
《
瘦肝
》
售價:HK$
99.7
《
股票大作手回忆录
》
售價:HK$
55.8
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
|
編輯推薦: |
资深运维专家撰写,InfoQ和51CTO等技术社区,以及童剑、田逸、南非蜘蛛、程辉等业界资深专家联袂推荐
详细讲解Puppet的功能和使用方法,深入剖析Puppet的工作原理,系统总结Puppet的使用技巧,包含大量来自一线的实战案例和最佳实践
|
內容簡介: |
Puppet领域的经典之作,资深运维专家多年一线经验结晶,51CTO技术社区强烈推荐,新浪研发中心平台架构部高级总监童剑、资深运维专家田逸、中国最大开源社区ChinaUnix创始人之一南非蜘蛛、OpenStack基金会董事程辉等业界资深专家联袂推荐。本书详细讲解了Puppet的功能和使用方法,深入剖析了Puppet的工作原理,系统总结了Puppet的使用技巧,包含大量来自一线的实战案例和最佳实践。
全书一共20章,共分为四部分:准备篇(第1~4章)介绍了Puppet用途、组织结构、工作原理、核心配置文件、各种平台下的安装与配置,以及它的运行环境,是使用Puppet前必须做好的准备工作;基础篇(第5~10章)详细讲解了Puppet的理论知识和功能使用,Puppet的语法与命令、资源、模块、类、模板、节点管理,以及Facter、数组、函数、变量和标签;实战篇(第11~13章)通过几个经典案例,包括大规模Nginx集群的部署方案、分布式监控系统部署方案、OpenStack快速部署方案等,使读者能快速将Puppet运用到实践中;进阶篇(第14~20章)综合讲解了Puppet的扩展模式、版本控制、报告系统、控制台、扩展工具及MCollective,让读者了解一个完整的Puppet生产流程。
|
關於作者: |
刘 宇
资深运维工程师和系统工程师,曾任职于新浪,担任高级技术工程师,现就职于百度,负责系统运维相关的工作,是国内Puppet领域的先驱之一。精通分布式自动化管理平台和分布式监控平台的管理,对视频点播、直播架构、文件加速、调度系统和数据分析都有非常深入的研究,实践经验极为丰富。在国内率先使用Puppet进行大规模集群管理,并撰写了Puppet配置手册在网络上分享。http:linuxtone.org 联合创始人,活跃于InfoQ和51CTO等技术社区,曾被评为InfoQ金牌讲师和51CTO博客之星。
|
目錄:
|
前言
第一部分 准备篇
第1章 认识Puppet
1.1 Puppet的起源与发展现状
1.1.1 什么是Puppet
1.1.2 Puppet起源与发展
1.1.3 版本语言特征
1.1.4 命令差异
1.1.5 Puppet 3.0新特性
1.2 为什么要使用Puppet
1.2.1 都有谁在使用Puppet
1.2.2 常见集中化管理工具对比
1.2.3 推荐Puppet的理由
1.3 Puppet的作用和特色
1.3.1 为什么要有自己的语言
1.3.2 为什么是Ruby
1.3.3 管理任何机器
1.4 Puppet组织结构
1.5 Puppet工作原理
1.5.1 Puppet基本结构
1.5.2 Puppet是如何工作的
1.5.3 Puppet数据流
1.5.4 文件结合
1.5.5 详细交互过程
1.5.6 安全与认证
1.6 Puppet核心配置文件详解
1.6.1 主配置文件puppet.conf
1.6.2 主机配置文件site.pp
1.6.3 认证与安全配置文件
1.6.4 客户端自动认证配置
1.6.5 报告系统配置
1.6.6 文件系统配置文件
1.7 本章小结
第2章 Puppet安装与配置
2.1 Puppet对各系统平台的支持
2.2 Puppet对Ruby的支持
2.3 Puppet的安装步骤
2.4 在Linux下安装
2.4.1 包管理器方式安装
2.4.2 从源代码进行安装
2.4.3 从Git版本库进行安装
2.4.4 通过Gems进行安装
2.5 在Mac OS X下安装
2.5.1 通过二进制发布包进行安装
2.5.2 从Git版本库进行安装
2.5.3 从Ports仓库进行安装
2.6 配置Puppet
2.7 在Windows下安装与使用
2.7.1 包管理器方式安装
2.7.2 在Windows下使用Puppet
2.7.3 Puppet在Windows下的功能
2.8 如何升级
2.9 本章小结
第3章 创建你的第一个Puppet配置
3.1 配置一个测试节点
3.2 检测你的配置文件
3.3 客户端运行配置
3.4 查看运行结果
3.5 增加httpd模块
3.6 本章小结
第4章 Puppet运行环境
4.1 服务器端配置
4.2 客户端配置
4.3 如何运用环境配置
4.4 本章小结
第二部分 基础篇
第5章 Puppet语法与命令详解
5.1 Puppet的命名规范
5.1.1 资源
5.1.2 属性
5.1.3 类
5.1.4 模块
5.1.5 节点
5.2 主机、模块和类的命名
5.2.1 主机的命名
5.2.2 模块的命名
5.2.3 类的命名
5.3 资源、变量、参数和标签的命名
5.3.1 资源的命名
5.3.2 变量的命名
5.3.3 参数的命名
5.3.4 标签的命名
5.4 Puppet语法风格
5.4.1 间距、缩进和空白字符
5.4.2 注释
5.4.3 变量的引用
5.4.4 资源
5.4.5 条件语句
5.4.6 类
5.5 检查命令的用法
5.5.1 语法检查
5.5.2 代码调试
5.6 Puppet命令详解
5.6.1 Puppet常用命令
5.6.2 帮助命令详解
5.6.3 模块和不常用命令
5.7 本章小结
第6章 Puppet资源详解
6.1 什么是资源
6.1.1 图解核心资源
6.1.2 什么是manifests
6.1.3 资源的依赖
6.2 虚拟资源?
6.2.1 虚拟资源的定义
6.2.2 虚拟资源的用法
6.3 常用资源的用法
6.3.1 用户资源
6.3.2 用户组资源
6.3.3 软件安装
6.3.4 文件管理
6.3.5 服务管理
6.3.6 定时脚本
6.3.7 执行命令
6.3.8 调试与输出
6.4 Puppet作用域与变量
6.4.1 作用域
6.4.2 变量
6.5 条件语句
6.5.1 if语句
6.5.2 case语句
6.5.3 selector选择器
6.6 表达式
6.6.1 什么是表达式
6.6.2 运用位置
6.6.3 操作顺序
6.6.4 比较运算符
6.6.5 布尔运算符
6.6.6 算术运算符
6.7 函数
6.8 数据类型
6.8.1 布尔类型
6.8.2 未定义
6.8.3 字符串
6.8.4 资源引用
6.8.5 数字
6.8.6 哈希类型
6.8.7 正则表达式
6.8.8 数组
6.9 标签
6.10 stage运行阶段
6.11 本章小结
第7章 Puppet模块、类、模板
7.1 图解模块结构
7.2 模块管理
7.2.1 实例:创建一个模块
7.2.2 模块布局
7.3 类管理
7.3.1 类的定义
7.3.2 类的继承
7.3.3 参数化类
7.4 模板管理
7.4.1 定义与声明
7.4.2 ERB模板语法
7.5 融合
7.6 从Puppet Forge获取模块
7.7 从Example42获取模块
7.8 本章小结
第8章 节点管理
8.1 什么是节点
8.2 主机名命名规范
8.3 节点继承
8.3.1 节点继承关系
8.3.2 继承变量覆盖
8.3.3 默认类与默认节点
8.3.4 节点继承的判断
8.4 节点管理方法
8.4.1 每个主机名独立
8.4.2 采用正则匹配
8.4.3 使用外部节点分类器
8.4.4 利用WEB-UI管理
8.5 如何选择合适的管理方式
8.6 本章小结
第9章 认识Facter
9.1 什么是Facter
9.2 Facter的作用与特点
9.3 Facter的常用变量
9.3.1 操作系统名
9.3.2 操作系统相关
9.3.3 主机名
9.3.4 IP地址
9.3.5 内存管理
9.3.6 系统状态信息
9.3.7 版本管理
9.4 如何自定义fact
9.5 案例一:条件语句
9.6 案例二:匹配不同硬件配置
9.7 本章小结
第10章 小标签大用途
10.1 Puppet标签的定义
10.2 Puppet标签的说明
10.2.1 自动分配标签
10.2.2 tag元参数
10.2.3 tag函数
10.2.4 tagged函数
10.2.5 识别标签
10.3 指定标签运行特定配置
10.3.1 在命令行中指定特定标签
10.3.2 在配置文件中指定
10.3.3 在Node节点配置中指定
10.4 标签的更多用法
10.4.1 在收集资源中使用
10.4.2 实例化资源
10.4.3 创建资源集合
10.5 本章小结
第三部分 实战篇
第11章 大规模Nginx集群部署方案
11.1 应用场景
11.2 场景需求分析
11.2.1 日常变更分析
11.2.2 网络及架构分析
11.2.3 软件安装分析
11.2.4 软件配置分析
11.2.5 节点管理分析
11.3 合理规划
11.3.1 系统安装
11.3.2 系统初始化
11.3.3 部署规划
11.3.4 关注点
11.4 实施步骤
11.4.1 前期准备:创建软件仓库
11.4.2 Puppet配置文件管理
11.4.3 初始化操作系统
11.4.4 编写nginx模块
11.4.5 采用Forge的nginx模块
11.5 本章小结
第12章 分布式监控系统部署方案
12.1 利用Puppet部署Zabbix
12.1.1 Zabbix简介
12.1.2 Zabbix架构
12.1.3 利用Puppet部署Zabbix
12.1.4 Zabbix自定义监控
12.2 利用Puppet部署Nagios
12.2.1 Nagios简介
12.2.2 Nagios架构
12.2.3 Nagios服务端安装
12.2.4 Nagios模块应用
12.2.5 创建Nagios客户端监控
12.3 本章小结
第13章 OpenStack快速部署方案
13.1 OpenStack简介
13.1.1 什么是OpenStack
13.1.2 OpenStack的组件、服务及逻辑架构
13.1.3 OpenStack版本说明
13.2 部署OpenStack
13.2.1 环境准备
13.2.2 安装软件及Puppet模块
13.2.3 部署controller
13.2.4 部署compute
13.2.5 验证OpenStack部署
13.3 本章小结
第四部分 进阶篇
第14章 Puppet版本控制
14.1 Puppet版本控制方法
14.1.1 为什么要使用版本控制
14.1.2 版本控制的架构与原理
14.1.3 Git与SVN的区别
14.1.4 为什么采用Git
14.2 使用Git实现Puppet
14.2.1 安装与配置Git
14.2.2 将Puppet加入Git
14.2.3 使用Rake自动更新副本
14.2.4 使用hook实现自动语法检查
14.3 本章小结
第15章 Puppet架构扩展与分布式
15.1 Puppet瓶颈分析
15.1.1 单台Puppet Master瓶颈
15.1.2 认证的瓶颈
15.1.3 文件的瓶颈
15.1.4 网路的瓶颈
15.2 架构扩展之单台Puppet Master
15.2.1 Nginx+Mongrel模式
15.2.2 Apache+Passenger模式
15.2.3 Nginx+Passenger模式
15.3 架构扩展之多台Puppet Master
15.3.1 配置前的准备
15.3.2 Puppet CA认证服务器部署
15.3.3 Puppet LB负载均衡器部署
15.3.4 Puppet Master服务器部署
15.3.5 Puppet客户端配置
15.3.6 验证架构
15.4 架构扩展之利用Git构建分布式的Puppet
15.4.1 实现原理
15.4.2 安装与部署
15.5 本章小结
第16章 File资源管理优化
16.1 深入理解File资源?
16.2 操作实践
16.3 File资源配置方法?
16.3.1 模块文件目录配置
16.3.2 统一文件目录配置
16.3.3 content属性
16.4 File资源的优化
16.4.1 配置Nginx代理
16.4.2 选择File资源还是ERB
16.4.3 大文件下发方法
16.5 从filebucket检索文件
16.6 备份与恢复文件
16.7 File资源的缺点
16.8 本章小结
第17章 强大的报告系统
17.1 report介绍
17.2 Puppet信息记录方式
17.3 tagmail发送邮件报告
17.4 rrdgraph图形化报告
17.5 自定义报告处理器
17.6 本章小结
第18章 必须了解的控制台
18.1 Puppet DashBoard
18.1.1 简介
18.1.2 DashBoard安装
18.1.3 配置DashBoard
18.1.4 集成DashBoard
18.2 Foreman
18.2.1 Foreman简介
18.2.2 安装Foreman
18.2.3 配置Foreman
18.2.4 使用Foreman管理Puppet
18.2.5 从Foreman显示报告
18.2.6 Foreman其他功能
18.3 本章小结
第19章 Puppet扩展工具
19.1 生成HTML文档
19.1.1 利用puppet doc生成HTML
19.1.2 puppet doc的其他使用方法
19.2 生成依赖关系图
19.2.1 什么是关系图
19.2.2 配置方法
19.2.3 关系图说明?
19.3 PuppetDB
19.3.1 PuppetDB功能与特性
19.3.2 安装PuppetDB
19.3.3 PuppetDB配置文件详解
19.3.4 配置与使用PuppetDB
19.3.5 PuppetDB瓶颈
19.4 Hiera
19.4.1 Hiera的特点
19.4.2 Hiera的使用
19.5 本章小结
第20章 MCollective结合
20.1 MCollective简介
20.1.1 什么是MCollective
20.1.2 MCollective角色互换
20.1.3 MCollective的特点
20.1.4 MCollective给Puppet带来的改变
20.2 消息中间件
20.2.1 Stomp
20.2.2 ActiveMQ
20.2.3 RabbitMQ
20.3 标准化部署MCollective
20.3.1 体系结构与配置
20.3.2 安全模型
20.3.3 未来扩展
20.4 部署MCollective步骤
20.4.1 创建和收集证书
20.4.2 部署和配置中间件
20.4.3 MCollective安装与配置
20.5 如何使用MCollective
20.5.1 mco基本命令的用法
20.5.2 执行RPC请求
20.5.3 过滤器的使用
20.6 MCollective使用 Shell Commands
20.7 MCollective控制Puppet
20.8 本章小结
|
內容試閱:
|
第一部分
准 备 篇
Puppet可谓是配置管理工具中的旗舰产品,有别于chef等其他配置管理工具,它可以使系统管理员的工作变得更轻松,从而提升工作效率,并且只需要维护简单的关系就能掌握一切。使用Puppet,我们可以从系统安装、配置管理、系统监控来实现运维体系的一体化、流水线化、产品化。通过简单的后台系统我们就可以完成所有的动作,并且能查看机器的进度与当前状态。是不是觉得这项工作非常让人振奋呢?那就让我们一起探究Puppet的奥秘吧!
本篇主要是为了更好地学习和使用Puppet而做的准备。我们通过第1章来了解Puppet,看看它的发展历程,重点掌握它的工作原理;通过第2章对安装、配置Puppet的讲解进一步加深对Puppet工作原理的理解;通过第3章的实例,创建一个属于自己的配置,进而掌握基本的配置方法;最后通过第4章学习Puppet的几种工作环境,我们以后能够更好地利用Puppet实现不同环境的配置管理。
第1章
认识Puppet
本章首先介绍什么是Puppet,为什么它具有这么优秀的特征,以及它的发展历程。随后将Puppet和当前主流开源配置管理工具进行对比,阐述为什么要使用Puppet。了解Puppet的组织结构并掌握Puppet的工作原理,这是本章的重点,希望读者多次阅读这部分内容,以便完全理解。Puppet最新版本为3.0(截至2013年9月),不同版本之间新的特性及是否可以混合使用,以及配置文件的相关知识,这些都是本章将要介绍的内容。
……
|
|