精通Puppet配置管理工具

当前位置:首页 > 计算机网络 > 行业软件及应用 > 精通Puppet配置管理工具

出版社:人民邮电出版社
出版日期:2012-5
ISBN:9787115279514
作者:[澳] James Turnbull,[美] Jeffrey McCune
页数:265页

作者简介

内容简介:
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

编辑推荐

Puppet领域专家力作;学习Puppet的深入指南;云计算时代系统管理员必备工具书。

内容概要

作者简介:
James Turnbull 开源拥趸,Linux Australia前任主席,经常在OSCON、Open Source Bridge、
DevOpsDays等大会上发言。现任职于Puppet Labs。目前已有5本著作,均涉及开源软件。James
是澳大利亚人,目前居住在美国奥勒冈州的波特兰。他的兴趣爱好十分广泛,包括烹饪、品酒、
政治理论、新闻摄影以及哲学,最近还加入了波特兰Timbers协会足球队。
Jeffrey McCune Puppet社区成员,开源软件的支持者,经常在苹果的世界开发者大会、Macworld、Open Source Bridge、Velocity等大会上发言。现任职于Puppet Labs,致力于编写代码和帮助客户改进他们的Puppet部署。Jeff目前居住在奥勒冈州的波特兰,喜爱钻研微控制器、动画、摄影、音乐,爱好徒步旅行以及沙滩长途步行。
译者简介:
高永超 专职SA,喜欢钻研架构和运维相关知识,有两年Puppet使用经验,现任豆瓣运维工
程师。网络ID为flex,邮箱flex@flib.me。

媒体关注与评论

  “阅读过程中,我被这本书深深吸引了。我觉得这本书应当取名为‘精通部署技术’。因为它实际上还介绍了大量为Puppet及配置管理提供支持的工具。书中内容非常精彩,一册在手,便可帮助你悉数了解Puppet的前沿动态!”  ——Sean P. Hull,MySQL、 Linux、EC2领域专家  “无论对初学者还是专业人士,本书都可作为Puppet的极好教材,而不仅仅是‘参考手册’。本书结构非常合理,介绍的概念清晰易懂,在阅读过程中时有惊喜。里面完全没有机械枯燥的介绍,而是一步步引领我沉醉于内容当中,一如沉醉于Puppet 本身。”  ——Itamar Hassin,软件项目经理

图书封面


 精通Puppet配置管理工具下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     以前做Ops的也多少接触过这个东西,但是不多,现在需要那puppet来安装openstack所以要花时间专研下,这本书读起来怎么就那么别扭呢,还是我自己的原因?晚上再看看,到底怎么让我精通puppet,其实我内心深深的知道,光靠看这本书,根本就不可能精通的,哈哈,但是我喜欢看纸质的书籍。实在不限看pdf什么的,马上就去看喽,等有了什么体会再回来吐槽......
  •     半路出家------------故事要从12年初说起。某天,部门老大让我所在team的老大调研一下当下业界的配置管理工具。于是我team的老大给我分配了一个棘手的任务,要求我转型去做devops,并尝试在本季度内使用Puppet来管理现有的IAAS内部平台上的所有业务,工作成果计入KPI。于是,我半路出家从dev转成了ops。我花了几天的时间把learning Puppet动手练习了一遍,在会使用几个基础的resource type对系统资源进行管理之后,我自觉已经入门了,于是开始找书看,兴奋地发现京东上只有这一本书:精通Puppet配置管理工具。那看来puppet比较简单呀,看完一本书就能精通了。起初拿到这本书的时候很兴奋,哟呵,原来这么薄,看完这本书就能成为一名精通puppet的运维人员了。前几章比较容易,边看边动手一下就到了第三章。看到第四章就有点瞌睡了,扩展?为什么要做扩展?一台puppet master难道不够吗?第五章更是纳闷,什么是ENC?用site.pp不就可以管理节点了吗?第六章让我困惑不已:什么是配置的导出和存储?第七章是说Puppet的面板,我安装完Puppet dashboard却不知道它由什么用,还有foreman,又是什么?Report是干嘛的,看日志不就行了嘛?...后面还有一个Marionette Collective? 编排器?这是什么玩意?这书搞得我一头雾水,很快就把它丢到了一旁。实践出真知---------------我当时的第一个任务是在青岛IDC部署一套小规模的Openstack集群用于支持内部的开发环境。虽然我从11年开始接触Openstack,但一直围绕对象存储系统(Swift)做研发工作,对于nova和glance了解的不多,好在有大牛的指导和帮助下,我花了一周的时间把每个服务都详细地了解一遍并手动配置成功后,使用puppet对openstack的包,服务,静态配置文件经行了管理。在这个阶段中,我熟悉了puppet 常见的resource的用法,以及C/S架构puppet的配置,但还是属于初级阶段。下一个任务仍是与openstack集群部署相关,我发现之前写的puppet代码并不合理:1. 首先配置文件中许多参数是需要配置的,于是我开始研究使用template来替换原先的静态文件。2. 其次其他服务都是手动安装和配置的,比如mysql和rabbitmq,每台机器上还需要安装ntp服务等等。于是我又添加上了管理相关服务的代码。3. 然后我发现把所有的类放到一个module里实在是不太合理,于是开始进行初步的分离,把每个服务都抽象成一个单独的模块,例如puppet-mysql,puppet-openstack等等。在这个阶段,我掌握了如何根据实际情况将逻辑抽象为class,define和module。随后,我发现github的puppetlabs project已经有许多比较成熟的module,于是开始使用upstream的代码来替代原先旧有的代码。阅读这些代码使得我掌握了一些新知识,通过阅读这些有经验的puppet程序员编写的代码,我掌握了如何使用逻辑判断,选择器,链式语法,各种数据类型,函数的用法。参与社区------------在这个时候,Puppetlabs的Dan Bode在社区发起了一个项目叫做puppet-openstack,目的是使用puppet来完成openstack的部署,最初这个项目大约由8个相关的module组成,参与人员有cisco,red hat等公司的工程师。这个过程中,我学会了如何使用这些模块来管理现有的集群,掌握了如何使用收集器,配置的存储和导出等等一些高级用法。在此同时,我又发现其实这些模块并不完美,存在很多的bug,于是我对代码进行了修改,并在本地进行验证后,发送pull request到了puppet社区。社区的人很快就给我回复了,态度很nice,但指出了我非常低级的错误,老外很严谨,小到多一个多行,少一个空格都会在那标记。我在此过程中,逐渐熟悉了puppet的代码风格,学习了在提交代码前如何对puppet代码和erb模板做语法检查,使用puppet-lint对代码风格进行检查。时至今日,我每看到新人写的代码明显带有其他语言引入的奇怪风格时,都会严格地纠正,即使只是一个空格。因为openstack是一个迭代频繁的项目,因此配置文件的管理一直是让我们头疼的地方。从最初的模板到后来的concat方式来拼接配置文件,一直没有找到一个可以灵活管理配置文件的方法。后来iweb的magne提了一个patch,使用了自定义resource可以做到对每个选项灵活地管理。在这个过程中,我开始学习如何编写自定义resource,自定义function,自定义facter。当时又来了一个新任务,部署一个multi region的openstack集群(6个IDC)。我当时兴冲冲地使用site.pp开始定义每个机房的每台服务器的角色。当我写到第2个机房的时候,site.pp已经突破500行了。于是我开始对site.pp进行分割,使用import函数将每个机房节点的配置划分到一个文件中去。但我很快发现这仍然不适合做大规模的管理,于是我开始拿起这本书研究起ENC来,我编写了一个python脚本使用yaml格式的文件来管理节点的配置。现在仍然存在一个问题,那就是节点的配置和数据都存在一起,并不方便管理,并且好多参数的值其实是相同的,何必要重复定义呢?于是我又开始研究了hiera。那时,我是通过中心的一台puppet master节点来管理所有机房,有时会因为cpu跑满,导致complie catalog失败的情况,于是我又拿起了这本开始研究如何做HA。多台puppet master前面加个LB+KeepAlived解决了这个问题。在这个过程中,我掌握了如何解决多master节点的证书配置和证书同步。在此过程中,我把对于puppet-openstack的bug修复反馈到了社区,并且开始积极参与社区的ML和IRC中的讨论,涉及puppet的技术细节和openstack业务逻辑的抽象,这对我后来在开发内部项目puppet模块的影响很大。业务需求------------后来公司开始做一个私有云的项目,有我来负责部署逻辑的实现。私有云部署的要求一是对用户简单,二是速度要快。我开始阅读书上的第七章,使用foreman来做provision,配合puppet来部署。这个阶段,我掌握了运用facter,resource collect and export,将许多变量变为自动设置的。当时有一个痛苦的地方是,每次部署的耗时非常久,令老大不满,部署一台all-in-one的节点大约要半小时。我发现造成这个问题的原因是因为使用了storeconfig这一特性,我使用了mysql + mysql2 adapter作为后端存储。在我查阅了资料后发现原来activerecord在3.x已经弃用了,我当时使用的puppet版本是2.7.x,同时,3.x带来的性能提升大约有40%。于是我开始了两个计划:1. 把puppet升级到3.x2. 使用PuppetDB来代替旧有的ActiveRecord这个过程中,我掌握了必须要及时了解社区项目的最新进展,去比较版本的新增特性,puppetdb的安装和配置。核心开发者-----------------在这段时间里,我参与了大量的社区开发和代码审查,深入参与每个项目的开发。也许是因为我在社区的良好表现,在13年的5月,我被推选进入了openstack社区puppet-manager-core team,成为了一名core developer。我在使用puppet的过程中,开始对puppet的作者Luke Kanies开始感到好奇,为什么他能写成这么NB的CMS呢?于是我花了一周的业余时间,开始阅读相关的资料,博文,采访以及推特,写下了一篇博文: 关于puppet不得不说的故事http://www.cnblogs.com/yuxc/p/3197094.html同时刊登在《码农》第7期接着我就更加好奇了,我想了解puppet背后的架构细节和设计哲学,我又开始研究puppet的代码,并在公司内部分享了两篇文章。好奇是没有止境的,我开始对CMS背后的原理感到好奇了,于是阅读起从05年起的DSOM等国际会议的论文,同时温习了读研时候学的自动机理论,这时候对于CMS的认识豁然开朗。11月的时候,在HK openstack Icehouse summit的puppet-openstack design summit上和社区的core dev碰了面,我见到了team leader Dan Bode, 我的好基友magne,法国小哥EmilienM, PuppetLabs的Chris, packstack的作者dvorak,RH大名鼎鼎的Dan Prince,Cisco的ChamP...我们讨论了在 Icehouse release的milestone和各自的分工,很难想象在一年前的我对于Puppet一无所知。性能优化---------在管理多个机房的时候,我对于使用ssh登陆服务器批量操作puppet运行的方式渐渐不满起来,而puppet kick的主动触发方式在puppet 3.x轰轰烈烈的大讨论中正式被弃用了。最初我使用python写了一个叫dispatcher的小工具,后来使用cluster替换了它。ssh在单个机房内的执行时间还算理想,但是跨多个机房的时候,就可能会出现连接超时的情况。于是,我发现一个叫Marionette Collective的工具,号称可以做并发执行任务的框架。它使用MQ作为middleware,通过C/S架构实现并发地异步执行多作业,而且支持各种filter,可以自定义plugin等等,在几番测试后,mco替换了原先的ssh工具。重构-------14年的年后,我开始对以前编写的代码进行重构,理由是不够抽象,参数太多,不够智能。我对于主要业务的逻辑经行了抽象与合并,举例来说:mysql模块负责mysql的安装和配置,galera类负责主主模式的配置,但是它涉及galera包的安装以及大量参数的配置和一些exec类的操作,应该单独划分成一个模块,而主从模式只是my.cnf中部分参数的配置,抽象为一个类更为合理,线上业务的数据库初始化全部抽取称为一个独立的类。削减参数是我重构的最大动力,直到今天下班,我把目前线上业务划分成27种角色,大约1200多个参数,实际需要配置的参数只有40个,但仍没有达到我的预期。智能化就更有趣了:整个集群的各种角色根据facter自动配置IP,netmask和gateway,如果绑有公网IP,自动配置高级路由。通道机每增加一个用户,他的ssh publickey就会添加到他有权限访问的服务器上。负载均衡每加一个新节点,其他机器会自动更新自己的配置文件。Gaelra集群每添加一台机器会按照正确的顺序启动。在虚拟机上以qemu形式启动虚拟机,在物理机上以kvm启动虚拟机。如果起了网桥,就把绑定网卡的IP去掉。.......延伸------从puppet的配置管理延展出去就是衔接其他工具链来完成IDC的自动化管理,从CMS开始向Bare Metal Provision延伸,对接CMDB和BMC接口,演变为对所有机器的生命周期管理,使得对于部署一个数据中心变成可复制的。结尾-------有人觉得精通puppet配置管理这本书很烂,有人觉得配置管理没有技术含量shell脚本都可以做,又有人...我觉得书是死的,人是活的,技术的更迭很快,如果你觊觎靠一本纸质书精通一门技术的话,那就有点滑稽了。这本书的最大优点是在每一个重要领域都给了你一个指引,告诉你puppet能做这件事,至于怎么做,书上蜻蜓点水,怎么做得更好,那就要靠你自己的摸索了。截止今天晚上12点,我通过git submodule的方式管理着67个puppet module,43698行puppet代码,59868行ruby代码,这还是DSL的代码行数,如果换成python,估计破百万不是问题,看看Canoical的juju就明白了(那玩意真是太扯了)。通过这些模块我实现了完全自动化地管理开发,测试,线上环境所有角色的物理服务器和虚拟机上的所有业务,即使细小到vim的配置,.bashrc中的环境变量也纳入管理之中。在我看来,每当你带着偏见看待一件事情的时候,也许你真的还没有了解它。未完待续...(懒呐)
  •     对新手而言,这本身实在是不怎么样,有一定的深入,但是不够浅出,看玩这本书后你能对puppet构建的系统有一定的了解,但是对puppet的语法及规则不会了解到哪里去,建议先去看看官方的learningpuppet 和 puppetmanual这个文档,再看这本书就完全没有,我就是这样的。

精彩短评 (总计40条)

  •     很好很强大啊,讲解的很详情
  •     这本书应该说很难得,他是puppet这个工具的第一本中文书籍,但是不符合一个学习puppet的要求。
  •     关于puppet的中文书籍比较少,这本书可以说是一个不错的选择。
  •     这种持续更新和变化的工具,官方的文档会更加有用些,今天看到连puppet server都改成clojure实现了……
  •     这本书是近几年读到的不多的好书,我也是近期开始接触Puppet的,开始在网上找了很多资料,但每种资料都好像只解决了我的部分问题,直到看到这本书!谢谢作者,谢谢译者!
  •     目前国内中文版就这一本书,没得选择的,就是价钱太高了
  •     按照书中实例进行配置不错
  •     很喜欢,用着不错哦!
  •     昨天写的单。今天刚拿到书。不知道写的怎么样。初步看起来不错的样子。刚拿到书,还么来得及翻看。随后和大家交流。
  •     说的很粗浅,没有很深入,版本也有点老,基于2.6.不建议入手
  •     书不错,但细节有些没有说清楚
  •     也是网络上的内容翻译编撰一下
  •     老公要的书,应该还不错,每天晚上他都在熬夜读书呢。
  •     估计是国内第一本介绍puppet的书
  •     学习分布式系统,怎么能不会puppet,作为基本能力管理集群 ~ 学习puppet, shell脚本,用python写个emc
  •     正要用到,很好
  •     书的内容是没有问题的,就是质量比较差。有些页有多余的皱褶,没有被切整齐的页面也有。
  •     这本书写的不错,初级的可以看看
  •     还有需要一些ruby基础的。
  •     入门看看还行
  •     火速看
  •     puppet的很少,这是不错的一本
  •     让我系统的了解的 PUPPET的用法和功能。不错。前4章非常实用
  •     蛮好的 还没看完
  •     这是一本系统地介绍puppet的书籍,虽然网络上有很多puppet配置和应用的文档,但大多都比较片面,“只见树木不见森林”,这本书正好弥补了这一点,很详细,也更系统。
    如果想将puppet应用到实际生产环境中,建议先看看这本书。
  •     自动化运维。。。。
  •     看完了n遍,结合刘宇的那个实战puppet一起看的。虽然介绍的版本是2.x的,但一点也不影响阅读效果。几乎每个知识点都介绍到了,虽然不是特别细致,但足以应对90%puppet遇到的问题了,剩下10%还需要看官方文档了。
  •     中文里唯一系统介绍puppet的书。没有机械式的罗列所有属性,需配合查询官网手册,适合学习
  •     看了以后感觉不错,通俗易懂
  •     云时代必备工具,国内该类型比较少难得之作~
  •     入门之后的提升教程
  •     程序员一定要看的书
  •     买了,还没看完就丢了~~~
  •     豆瓣大神翻译的一本书,感觉还行,不过不够深入,当初学习puppet的时候关键还是在于自己练习实践,貌似我是跟着安居客写的脚本学习的,不过现在已经不用puppet了,管理几台服务器bash脚本+ssh+rsync足够了
  •     经别人的推荐才买的,值得一看
  •     基于2.6系列写的,很粗浅,最关键的资源都没有说到,不建议入
  •     前5章编写仔细,后面的章节算是混稿费, 建议阅读英文版,第6章“导入与存储”可以忽略翻译直接看英文,可能更容易理解。
  •     从基本的puppet语法。到puppet构建 负载均衡 图表系统的使用 吧puppet的功能 非常全面的展示出来 非常值得看的好书
  •     在网上看到介绍以为很好,买了才知道,内容和网上资料很相似,书很薄,价格太高了!

    不推荐购买!
  •     可惜我还没有看过这个书籍啊啊啊啊啊
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024