首页>参考读物>计算机科学与技术>软件与程序设计

Puppet权威指南
作者 : 王冬生 著
出版日期 : 2014-12-29
ISBN : 978-7-111-48598-8
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 365
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

自动化运维领域的重磅著作,Puppet领域权威的、系统的、有深度、极具企业实战价值的著作。腾讯高级运维工程师撰写,获得了来自腾讯、百度、阿里巴巴、新浪等多家世界级互联网企业的总监级运维专家的高度认可和联袂推荐。
工欲善其事,必先利其器,在操作层面,从Puppet的基本功能到高级功能,再到二次开发,内容详尽而系统,能帮助读者全面掌握Puppet的使用;知其然,更要知其所以然,在原理层面,从多个层面和角度分析了Puppet的工作原理,能让读者更深入理解和使用Puppet;好的经验是无价的,在应用层面,作者将自己几年来学习和应用Puppet积累的方法、技巧、最佳实践以及解决疑难问题的秘诀都毫无保留地奉献了出来,能让读者少走弯路,事半功倍;实践出真知,在实战层面,本书给出了几个对企业很重要的、常见的综合性案例,不仅能帮助读者提高实战能力,也能给予他们解决这些问题的良好解决方案。

图书特色

作者简介
王冬生 高级运维工程师和开发工程师,现就职于腾讯,负责QQ空间和相册的运维、运营工具开发、数据挖掘等工作;曾就职于新浪,负责新浪防火墙管理系统、监控系统、用户中心数据库改造,以及会员登录系统的开发与运维等工作。ChinaUnix资深版主(网名:研究僧),擅长开源软件的研究与使用、系统运营工具的开发等。关注移动互联网、大数据与自动化运维。
微博地址:http://weibo.com/365online/。

对于互联网产品或大型软件系统来说,大量的配置文件、各类软件包资源、资源版本属性、资源间的相互依赖关系等等,使得这些产品和系统随着规模的增长和时间的延续,变得越来越复杂和难以维护,困扰着大量的开发和运维人员。Puppet的出现则为广大运维和开发人员带来了一个系统化的解决方案,大大降低了在配置和资源管理上的复杂度和投入,技术人员不再需要关心太多配置和资源管理的细节,可专心投入到业务自身的研发上。
本书作者有长时间在大型互联网产品上使用Puppet的经验,本书结合了这些经验,系统而全面地介绍了Puppet强大的功能和原理,帮助读者快速掌握其使用方法和工作机制。本书亦可作为平时使用Puppet的一本专业参考书。
赵建春 腾讯社交网络运营部助理总经理
如何高效地实现大规模服务器集群的运维管理,如何设计一套高可用的配置管理系统,是摆在每个互联网运维工程师面前的难题。Puppet正是为了解决大规模集群配置管理而诞生的一款优秀的系统。作者凭借多年在腾讯海量运维积累下的Puppet最佳实践经验撰写的本书将Puppet从入门学习、灵活实践,到高阶应用的过程巧妙地融入各个篇章中,内容多为经验总结概括,实战性很强,值得每位运维工程师、运营开发工程师、系统架构师和广大Puppet爱好者捧读。
梁定安 腾讯社交平台业务运维负责人

Puppet作为一款非常优秀的开源配置管理工具,应用非常广泛,从运维到DevOps均有不错的表现,多数大型互联公司都在使用它。本书作者在Puppet领域的研究非常深入,有大量的实战经验。本书从各种配置管理工具对比,到Puppet的语法详解,再到集群、数据仓库等高级技巧,结合大量实战的案例,从浅入深,信息量很大,表现出作者在Puppet领域很强的功底,值得运维工程师,及追求DevOps的开发者拥有。
王炜煜 百度运维架构师

互联网时代来了,每天产生与存储的信息量相当于人类几百年所产生的信息量。海量的数据与海量的存储对于快速发展的互联网来说,单凭一个人或几个人是难以支撑的,需要通过自动化工具来更好地管理系统。而本书作者将自动化运维工具Puppet引入工作中,解决工作中问题的同时又将学习与实践的过程总结成书,这是非常难得的。Puppet在国内的资料并不多,本书系统地介绍了Puppet这款自动化运维工具,是一本非常不错的参考书,值得推荐。
于杰英 Netapp高级程师

腾讯高级运维工程师撰写,腾讯、百度、阿里巴巴、新浪等多家企业总监级运维专家高度认可并联袂推荐
从基本功能、操作使用、高级功能、二次开发、工作原理、性能优化、疑难问题等多个角度系统、深入讲解了Pupept运维的方法、技巧和最佳实践,包含多个企业级实战案例

图书前言

为什么要写这本书
早在2009年的时候,笔者就梦想能出版一本属于自己的书,虽然那时用业余时间写过一本,但并不专业也没有正式发行。时隔5年,随着工作经验的积累和知识的增长,经过了2年多的构思,编写的这本书终于面市了,这算是圆了笔者一个小小的梦想。笔者从事互联网行业已有7年左右的时间了,与传统行业相比,7年的时间仅能算是初出茅庐,但对于年轻的互联网行业来说不算短了,因为互联网在1995年才正式进入中国,目前还处于“花样年华”阶段。
2008年~2011年5月,笔者就职于新浪网技术中国有限公司。当时笔者所在的团队主要负责登录系统的开发与运维,同时还负责包括好友系统、在线系统和消息系统的维护,所有服务器加在一起有100多台。除了不用到机房上线服务器与安装系统外,其他的所有工作都由笔者当时所在的团队共同完成。那时都是由开发工程师兼运维工程师来完成这100多台机器的维护、软件安装、程序部署、架构部署、系统调优与监控等工作。这样的工作方式有优点也有缺点。优点是一名初出茅庐的职场新人(笔者)就可以自己建立运维工具,构建系统架构和部署系统的监控,并且从中获取更多的知识,迅速成长;缺点是团队中的同事都有自己的一套独立的小工具,团队中的工具与工具之间不能继承与复用,每次系统增加新功能都需要重新开发工具,浪费了很多人力成本。而且工具本身不够自动化,很多环节需要人为参与。那时笔者就在思考,是否能有一种工具来帮我们串联贯通业务,在节约人力成本的同时提供个性定制操作呢?
2011年6月至今,笔者就职于腾讯。在腾讯工作的这几年中,笔者专职从事运维与运维工具的开发等工作。笔者将目前在腾讯的运维经历划分为以下4个阶段。
第一阶段,统一化:即操作系统发行版本都是统一的,服务器硬件也采用的是相同型号、相同配置,从根本上规避了差异化给运维工作带来的麻烦。
第二阶段,基础化:从系统安装、上线、服务部署、测试、监控到后续维护均由统一的系统完成。
第三阶段,自动化运维:服务器软件安装和更新,程序发布版本都由相应工具完成,不需要人为参与。通过Web化与图形化的展示规避了服务器误操作的风险,提高了系统可用性与工作效率。
第四阶段,大数据挖掘:新产品上线需要多少台服务器、带宽和流量仍处于不好估算的阶段。当系统上线后,要想通过海量数据发现产品潜在的问题、获悉用户爱好与习惯、预测未来产品走势,就需要我们了解与掌握相关信息,所以需要通过大数据的分析,从产品海量日志中找到有价值的信息,助力产品更好地发展。
当很多公司的运维还处于第二与第三阶段时,腾讯已经逐渐从第三阶段步入第四阶段。但在这4个阶段中,笔者觉得第三阶段是一个非常重要的阶段,只有解放了人力才能将更多的精力投到大数据挖掘上,以助力产品发展。2011年下半年,笔者偶然听说了Puppet配置管理工具很不错,并从官方文档上了解到,Puppet配置管理工具正是笔者一直在找寻的工具。它安装简单,使用方便,并且有着丰富的文档与活跃的社区,这无疑降低了初学者学习门槛。所以在对Puppet进行了系统的了解与学习之后,恰好赶上一次新业务上线,部分功能需要运营系统再次开发支持,笔者觉得这是一次测试、使用Puppet的好机会,于是在一周内搭建并使用了Puppet配置管理工具。测试表明,在无需人力参与开发的情况下,Puppet配置管理工具确实节约了很多人力成本,提高了效率。2013年6月,笔者决定把学习与使用Puppet配置管理工具的过程和心得整理成文字并发表出来,以让更多的计算机爱好者和工作者了解并使用这款软件。编写本书的过程也是再次学习Puppet的过程,Puppet并不只是配置管理工具,它的设计思想与软件架构,以及版本迁移历程都值得我们去学习与借鉴。笔者衷心希望本书能帮助读者更快地掌握Puppet管理配置工具,并将其应用到实际工作中,为大家带来方便。
本书主要内容
本书共分为18章,4个部分。
第一部分 基础篇(第1~5章):第1章对比了目前常见的自动化运维工具,并介绍了目前应用Puppet的公司与Puppet发展前景,让读者了解为什么选择Puppet,Puppet与其他运维工具相对而言有哪些优势,使大家对Puppet有个基本的了解与认识。第2~5章主要介绍Puppet的版本分支状况及选择,Puppet安装过程、目录结构、各版本之间命令差异如何解决,Puppet配置文件的作用等。基础篇学完后,读者可以搭建Puppet环境并掌握基本使用方法。
第二部分 进阶篇(第6~9章):主要介绍Puppet核心编程语言、资源、模板应用与Facter。让读者能够在搭建的基础上完全玩转Puppet。
第三部分 高级篇(第10~15章):主要介绍Puppet的一些高级功能。当Puppet不能满足我们的工作需要时,如何做二次开发使其能够为我们工作所用?大规模使用Puppet时,性能瓶颈应该如何解决?如何管理与查询差异化服务器信息及上报的日志?海量的Agent服务器中部分Agent工作异常如何快速定位原因?这些都是在Puppet实际使用中常常会遇到的问题,读者们可以在本篇中找到答案。
第四部分 应用篇(第16~18章):这几章会以案例形式介绍Puppet在企业环境中如何应用,在方便读者记忆的同时,拓展读者的思路。对Puppet的了解和使用达到一定程度后如果读者想偷懒,还可以使用热心网友分享的、已经写好的Puppet配置语言,这样可以将更多的时间放在系统优化与数据挖掘上。
本书特色
在读本书前并不要求读者对Puppet配置管理工具有一定使用经验或者编程语言的背景。本书从零基础开始介绍Puppet配置管理工具以及其管理配置语言,通过由浅入深的案例让读者更好地掌握Puppet。
本书在写作过程中主要参考Puppet两个稳定的版本分支文档,即Puppet 2.7(https://docs.puppetlabs.com/puppet/2.7/reference/)和Puppet 3.6(https://docs.puppetlabs.com/puppet/ 3.6/reference/)。
笔者将Puppet引入工作环境,不仅是为了解与学习Puppet,更是要解决工作中遇到的实际问题。书中案例贴近实际工作环境,同时在不同的工作场景下给出了不同的使用建议供读者选择。
本书不仅系统地介绍了Puppet配置管理工具,还介绍了一些Puppet辅助工具,如PuppetDB、Marionette Collective、DNS和版本配置工具。
读者对象
系统管理员、运维工程师、网络管理员
自动化运维工具爱好者
开源软件爱好者
对读者的建议与意见反馈
本书出版时Puppet版本已经升级到了Puppet 3.6,但本书案例主要使用的是Puppet 2.7版本,需要读者注意的是两个版本间小部分命令的使用可能会有所不同,但差异并不大,并不影响我们在版本过渡期间的使用。如果读者刚接触Puppet,对Puppet还不是很熟悉,笔者建议温故而知新,先从Puppet 2.7版本入手再逐渐升级到Puppet 3.6版本上,这样才能更好地掌握Puppet。另外,如果读者已经使用过Puppet,并希望通过本书获取更多的个性化的内容并应用到自己的工作中,笔者建议通过二次开发来改造Puppet,从而为我们的工作所用。因为Puppet 是一款开源软件,它并不能解决我们工作中遇到的所有问题,但它的优势是提供了很多API和程序源码供我们更方便地改造它。
笔者在编写本书的过程中也遇到了很多困难,并通过网上查找、与朋友交流、测试和自己理解一一克服。由于时间仓促,本书依然难免会有错误或不准确的地方,希望读者能够指正,以求一同学习进步。如果读者对本书有任何意见或发现任何错误,请和笔者联系,可以将意见发送到邮箱7717060@sina.com,标题注明“《Puppet权威指南》”,笔者将会认真查看大家的批评和建议。同时笔者也开通了个人博客www.puppeter.com,本书的勘误、代码下载与后续更新都会在个人博客上与大家分享。另外本书涉及的源代码也可到机工新阅读网站(www.cmpreading.com)下载。
致谢
在本书出版的过程中得到了很多朋友与家人的支持。
首先感谢华章出版社的孙海亮与杨福川。在本书编写的一年中,编辑孙海亮耐心地审阅并指出了笔者的很多错误与不足,同时给出了很多专业性的建议,他是一位非常称职的编辑,值得敬佩。杨福川给予了笔者更多的鼓励与资源的支持。
特别感谢我的朋友与同事赵建春、梁定安、李晓栋、王炜煜、于杰英和高国新对本书的建议与支持。
感谢公司的同事陶凛然、吴伟彬、黄浩宇、黄伟俊、张兰、黄兆鹏、李平安、赵子青、李金榜、王秀才、杨波、曹凤龙、聂鑫、刘华、张志谭、余东良和孙凯荣在软件环境、使用与测试方面对本书的帮助。
还要感谢刘志宇、吴城、汪洋、周荣茂,他们在本书后期推广方面给出了很多建议与帮助。
最后感谢我的老婆,是她默默地在后方支持着我,促使我最终能完成本书。

王冬生
于深圳南山科技园

上架指导

计算机\程序设计

封底文字

对于互联网产品或大型软件系统来说,大量的配置文件、各类软件包资源、配置文件和资源的版本属性、资源间的相互依赖关系等等,使得这些产品和系统随着规模的增长和时间的延续,变的越来越复杂和难以维护,困扰着大量的开发和运维人员。Puppet的出现则为广大运维和开发人员带来了一个系统化的解决方案,大大降低了在配置和资源管理上的复杂度和投入,技术人员不再需要关心太多配置和资源管理的细节,专心投入到业务自身的研发上。
本书作者有长时间在大型互联网产品上使用Puppet的丰富经验,在书中将结合这些经验,系统而全面的介绍了Puppet强大的功能和原理,帮助读者快速掌握其使用方法和工作机制,亦可作为平时使用Puppet的一本专业参考书。
赵建春 腾讯社交网络运营部运维总监

如何高效的实现大规模服务器集群的运维管理,如何设计一套高可用的配置管理系统,是摆在每个互联网运维工程师面前的难题。Puppet正是为了解决大规模集群配置管理而诞生的一款优秀的系统。作者凭借多年在腾讯海量运维积累下的puppet最佳实践经验,撰写的本书将puppet从入门学习、灵活实践、到高阶应用的过程巧妙的融入在各个篇章中,内容多为经验总结概括,实战性很强,值得每位运维工程师、运营开发工程师、系统架构师和广大puppet爱好者捧读。
梁定安 腾讯社交平台业务运维负责人

作者简介

王冬生 著:暂无简介

图书目录

序 一
序 二
前 言
第一部分 基 础 篇
第1章 运维工程师的利器——自动化运维工具 2
1.1 浅谈运维工程师 2
1.1.1 运维工程师定位和职责 2
1.1.2 优秀运维工程师vs普通运维工程师 3
1.1.3 自动化运维工具 5
1.2 自动化运维工具箱 5
1.2.1 Cfengine 5
1.2.2 Chef 7
1.2.3 Puppet 7
1.3 自动化运维工具对比 10
第2章 Puppet介绍 12
2.1 DevOps介绍 12
2.2 Puppet版本介绍 13
2.2.1 Puppet开源社区版本号介绍 13
2.2.2 Puppet版本混用可行性 14
2.2.3 如何升级Puppet 14
2.2.4 Puppet发行版本介绍 15
2.3 Puppet版本运行环境和硬件要求 16
2.3.1 Puppet版本运行环境 16
2.3.2 Puppet 硬件要求 17
2.4 Puppet 工作流程 17
2.5 Puppet开发工具 19
2.5.1 Geppetto 开发环境 19
2.5.2 Vim开发环境 23
2.6 Puppet问答 23
第3章 Puppet及相关工具的配置与安装 25
3.1 Puppet 各环境的安装 25
3.1.1 Ruby不同版本对Puppet的支持状况 25
3.1.2 包管理系统和源 26
3.1.3 在RedHat企业版或CentOS上安装Puppet 29
3.1.4 在Debian和Ubuntu上安装Puppet 29
3.1.5 在微软Windows系列操作系统上安装Puppet 30
3.1.6 在Mac上安装Puppet 30
3.1.7 通过RubyGems安装Puppet 33
3.1.8 源码编译Puppet 33
3.1.9 源码打包RPM 35
3.2 版本控制工具安装与配置 36
3.2.1 Subversion安装与配置 36
3.2.2 Git安装与配置 38
3.2.3 SVN与Git的4点区别 39
3.3 DNS安装与配置 40
第4章 Puppet目录结构、配置文件和命令详解 42
4.1 源码与主配置文件的目录结构 42
4.2 Puppet主要配置文件介绍 45
4.2.1 puppet.conf介绍 45
4.2.2 auth.conf介绍  49
4.2.3 namespaceauth.conf 介绍 51
4.2.4 autosign.conf介绍 52
4.2.5 fileserver.conf介绍 53
4.2.6 tagmail.conf 介绍 54
4.3 Puppet命令详解 54
4.3.1 Puppet命令的前世今生 55
4.3.2 如何掌握Puppet命令 55
4.3.3 puppet master 介绍 57
4.3.4 puppet agent 介绍 59
4.3.5 puppet cert 介绍 62
4.3.6 puppet apply 介绍 64
4.3.7 puppet module 介绍 65
4.3.8 puppet resource 介绍 67
4.3.9 puppet describe 介绍 68
4.3.10 puppet doc 介绍 69
4.3.11 puppet parser 介绍 71
4.3.12 puppet 帮助命令介绍 72
4.3.13 puppet filebucket 介绍 73
4.3.14 puppet file 介绍 74
4.3.15 puppet kick 介绍 74
第5章 通过Puppet 构建主机 77
5.1 Agent首次访问Master配置过程 77
5.1.1 创建site.pp文件和目录 77
5.1.2 Master配置 78
5.1.3 防火墙配置 79
5.1.4 Agent配置 80
5.2 manifests和modules目录介绍 82
5.2.1 manifests目录介绍  83
5.2.2 modules目录介绍 86
5.3 class类的介绍 88
5.3.1 定义无参数class类 88
5.3.2 定义有参数class类 89
5.4 继承 89
5.4.1 节点继承 89
5.4.2 类继承 90
5.5 Puppet构建主机 90
5.5.1 基础模块目录结构 91
5.5.2 代码文件介绍 92
5.5.3 site.pp加载配置文件 93
5.6 Puppet多环境部署 94
第二部分 进 阶 篇
第6章 Puppet语言详解 98
6.1 变量和变量作用域 98
6.1.1 什么是变量 99
6.1.2 变量作用域 100
6.1.3 Facter变量 103
6.1.4 内置变量 104
6.2 数据类型 104
6.2.1 字符串类型 104
6.2.2 数值类型 105
6.2.3 数组 106
6.2.4 哈希类型 107
6.2.5 布尔类型 108
6.2.6 正则表达式 108
6.2.7  undef 110
6.3 条件判断语句 111
6.3.1 if…elsif…else条件语句 111
6.3.2 case语句 112
6.3.3 selector语句 113
6.4 Puppet函数介绍 113
6.4.1 常用系统函数 114
6.4.2 其他系统函数 118
6.5 Puppet tag 119
6.6 Puppet关键字 119
6.7 Puppet编程规范 120
6.7.1 manifests和modules中的间距、缩进与空白 120
6.7.2 注释 121
6.7.3 变量规范 121
6.7.4 资源规范 122
6.7.5 条件语句规范 125
6.7.6 class类规范 126
6.7.7 标识符命名规范 128
6.8 Puppet文件的导入、命名空间与自动加载 128
6.8.1 Puppet文件的导入 128
6.8.2 Puppet命名空间与自动装载 129
第7章 Puppet 资源详解 132
7.1 Puppet资源 132
7.1.1 Puppet资源分类 133
7.1.2 资源与Puppet协同工作 133
7.1.3 资源的组成 133
7.2 Puppet常用资源介绍 134
7.2.1 file与filebucket资源 135
7.2.2  host资源 140
7.2.3 user资源 141
7.2.4 group资源 144
7.2.5 package资源 145
7.2.6 service资源 148
7.2.7 exec资源 150
7.2.8 cron资源 153
7.2.9 notify资源 154
7.3 资源公有属性 155
7.3.1 资源公有属性应用场景 156
7.3.2 before和require资源公有属性 157
7.3.3 notify和subscire资源公有属性 158
7.3.4 资源公有属性的其他描述方式 159
7.3.5 定义Chaining 160
7.3.6 stage资源公有属性与stage资源 162
7.3.7 audit审计 163
7.4 默认资源 163
7.5 Puppet虚拟资源 164
7.5.1 虚拟资源应用场景 164
7.5.2 虚拟资源 165
7.6 Puppet资源的导出 167
7.6.1 环境的配置 167
7.6.2 资源导出案例 168
7.6.3 过期资源清理 171
第8章 Puppet ERB模板详解 172
8.1 ERB模板应用场景 172
8.2 ERB语言 173
8.2.1 初识ERB模板 173
8.2.2 变量 174
8.2.3 if…elsif…else条件语句 175
8.2.4 each循环 177
8.2.5 函数 178
8.3 通过ERB模板配置Apache虚拟主机 179
第9章 走进Facter 182
9.1 Facter简介 182
9.1.1 Facter版本 183
9.1.2 Facter参数与应用 183
9.1.3 Facter与Puppet结合 185
9.2 Facter常用变量 185
9.2.1 CPU相关变量 186
9.2.2 内存与swap相关变量 186
9.2.3 网络接口与硬件地址相关变量 188
9.2.4 系统发行版本变量与kernel版本相关变量 189
9.2.5 SELinux相关变量 190
9.3 扩展Facter 191
9.3.1 扩展Facter的变量 191
9.3.2 External Facts外部扩展变量 193
9.4 编写与分发Facter的扩展 196
第三部分 高 级 篇
第10章 Puppet高级功能 200
10.1 ENC介绍 200
10.1.1 ENC的配置 201
10.1.2 ENC案例 203
10.2 Ruby DSL介绍 205
10.2.1 如何使用Ruby DSL  206
10.2.2 Ruby DSL案例  206
10.3 Puppet的关系图 208
10.3.1 DOT语言 209
10.3.2 Graphviz的安装 210
10.3.3 Puppet与Graphviz结合生成关系图 210
10.4 puppetlabs-stdlib详述 212
10.5 Puppet扩展 216
10.5.1 Puppet扩展的目录结构 216
10.5.2 Puppet函数扩展 217
10.5.3 Puppet类型与提供者 220
第11章 Puppet集群技术 224
11.1 Master单机瓶颈解决方案 224
11.2 Mongrel模式 227
11.3 Phusion Passenger 231
11.3.1 Apache + Passenger 231
11.3.2 Nginx + Passenger 234
11.4 Puppet集群介绍 236
11.4.1 为什么建立Puppet集群 236
11.4.2 建立Puppet集群的场景 236
11.4.3 集群负载均衡解决方案 237
11.5 Puppet CA均衡负载 239
第12章 报告系统 241
12.1 报告系统入门 241
12.2 报告处理器 243
12.3 自定义报告处理器 247
12.3.1 log处理器源码分析 247
12.3.2 自定义报告处理器 248
12.3.3 个性化处理器 250
第13章 Puppet Web GUI 251
13.1 Puppet Dashboard 安装与升级 252
13.2 配置Dashboard 255
13.3 Dashboard应用场景 259
13.4 Dashboard与Nginx提升性能 264
第14章 PuppetDB数据仓库 266
14.1 PuppetDB环境安装 266
14.1.1 PuppetDB辅助环境安装 267
14.1.2 PuppetDB环境安装与升级 268
14.2 PuppetDB与Puppet结合配置 270
14.2.1 数据库配置 270
14.2.2 PuppetDB配置 271
14.2.3 Puppet配置 275
14.3 PuppetDB API 277
14.3.1 PuppetDB API检索结构 277
14.3.2 PuppetDB API检索语句 278
14.4 PuppetDB 问答 285
第15章 Marionette Collective框架应用 287
15.1 MCollective介绍 288
15.2 中间件介绍 290
15.2.1 ActiveMQ介绍 291
15.2.2 RabbitMQ介绍 291
15.3 MCollective环境的安装与配置 291
15.3.1 MCollective安装 292
15.3.2 MCollective配置 294
15.4 如何使用MCollective 301
15.4.1 MCollective基础命令 301
15.4.2 MCollective插件应用 304
15.4.3 通过MCollective管理Puppet Agent 305
第四部分 应 用 篇
第16章 HAProxy构建Puppet集群实践 308
16.1 HAProxy 简介 308
16.2 HAProxy初始化 310
16.3 HAProxy构建Puppet  312
16.3.1 利用HAProxy扩展Puppet集群 313
16.3.2 Puppet的升级 314
第17章 Puppet管理SSO实践 317
17.1 SSO介绍 317
17.1.1 什么是SSO 317
17.1.2 SSO系统工作流程图 318
17.1.3 SSO系统架构 318
17.2 通过Puppet管理与运营SSO系统 320
17.2.1 Puppet系统初始化  321
17.2.2 Puppet配置管理环境的初始化 323
第18章 Puppet快速构建企业内部网实践 335
18.1 Puppet初始化 335
18.2 Puppet辅助工具  339
18.2.1 Puppet Forge 339
18.2.2 Example42  340
18.3 快速构建企业内部网 342
18.3.1 企业内部网介绍 342
18.3.2 构建企业内部网 343

教学资源推荐
作者: [美] 丹尼尔·卡斯沃姆(Daniel Kusswurm) 著
作者: [美] 凯·霍斯特曼(Cay Horstmann) 著
作者: 周庆国 崔向平 郅朋 编著
参考读物推荐
作者: [美]文卡特·苏布拉马尼亚姆(Venkat Subramaniam) 著
作者: Scott Meyers
作者: David Conger
作者: (美)Subrahmanyam Allamaraju 等著