您好,欢迎来到聚文网。 登录 免费注册
DevOps实战

DevOps实战

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 小特雷弗A.罗伯茨(Trevor A. Roberts) 等 著;姚军 译
  • 出版日期: 2016-01-01
  • 商品条码: 9787111524786
  • 版次: 1
  • 开本: 16开
  • 页数: 256
  • 出版年份: 2016
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书由VMware的资历专家编著,系统介绍了DevOps的基础概念和流行的工具,这些工具包括很流行的第三方工具(如Vagrant、Chef、Ansible、Razor、Docker、MicrosoftPowerShell等)和VMware自身提供的持续集成、交付和部署产品(如VMwarevRealizeAutomantion),涵盖了DevOps环境配置、维护、编排、管理的各个环节,书中介绍的大量例子可以帮助读者快速了解工具的概念、使用以及和VMware虚拟化环境的结合,对于想要试水DevOps的读者们来说,是一本的参考书。
作者简介
Trevor A. Roberts, Jr,VMware不错技术市场经理,拥有CCIE数据中心认证,是VMware数据中心设计和管理集中化认证不错专家。他因对IT社区的很好贡献,曾被授予VMware vExpert、Cisco Data Center Champion和EMC Elect的称号。
目录
译者序
前言
致谢
关于作者
关于评审人员
关于贡献者
第一部分  DevOps概述
第1章  DevOps简介  2
1.1  DevOps原则概述  2
1.2  采用系统思维  3
1.2.1  改变团队的互动方式  4
1.2.2  改变基础设施部署方法  5
1.2.3  改变软件开发和部署方法  6
1.2.4  经常收集和响应有用的系统反馈并相应调整  6
1.3  增进DevOps知识和技能  6
1.4  小结  7
参考文献  7
第2章  DevOps工具  8
2.1  为成功而组织:看板  8
2.2  服务器部署  11
2.3  配置管理  11
2.4  持续集成  12
2.5  日志分析  12
2.6  小结  12
参考文献  12
第3章  建立DevOps配置管理测试环境  13
3.1  用AutoLab进行环境配给  13
3.2  用Vagrant进行环境配给  14
3.3  用Packer创建映像  18
3.4  管理源代码  18
3.5  小结  24
参考文献  24
第二部分  Puppet
第4章  Puppet简介  26
4.1  Puppet架构  26
4.1.1  独立部署  27
4.1.2  主机-代理部署  27
4.2  准备Puppet测试实验室  28
4.3  Puppet资源  29
4.4  Puppet清单  30
4.5  Puppet模块  35
4.5.1  Puppet Forge  37
4.5.2  创建第一个Puppet模块  37
4.5.3  Puppet模块初始化清单(init.pp)  38
4.5.4  模板  39
4.5.5  使用Puppet模块  42
4.5.6  最后一步:版本控制提交  42
4.6  小结  42
参考文献  42
第5章  Puppet系统管理任务  43
5.1  用数据分离优化Web层  43
5.1.1  参数类(params.pp)  45
5.1.2  Hiera  48
5.1.3  节点分类  51
5.2  应用层  51
5.3  数据库层  53
5.4  实施生产建议措施  53
5.5  部署应用程序环境  54
5.6  小结  54
参考文献  54
第6章  用Puppet进行VMware vSphere管理  55
6.1  Puppet的VMware vSphere云配给器  55
6.1.1  准备VM模板  55
6.1.2  准备Puppet主服务器  56
6.2  VMware的管理模块  58
6.3  小结  63
参考文献  63
第三部分  Chef
第7章  Chef简介  66
7.1  什么是Chef  66
7.2  Chef的核心思想  67
7.2.1  食谱的顺序  67
7.2.2  幂等性  67
7.2.3  基于API的服务器  67
7.2.4  客户端进行所有搜集工作  68
7.2.5  测试驱动基础设施  68
7.3  Chef术语  68
7.3.1  食谱  68
7.3.2  烹调书  68
7.3.3  属性  68
7.3.4  角色  68
7.3.5  运行列表  69
7.3.6  资源  69
7.3.7  环境  69
7.4  托管Chef和Chef Server之间的差别  69
7.4.1  托管Chef  69
7.4.2  Chef Server  69
7.5  ChefDK简介  70
7.5.1  ChefDK是什么  70
7.5.2  安装ChefDK  70
7.6  使用Knife  72
7.7  创建第一个“你好,世界”的Chef食谱  73
7.8  小结  76
第8章  使用Chef完成系统管理任务  77
8.1  注册托管Chef  78
8.2  社区烹调书  81
8.3  设置系统管理  81
8.3.1  准备/设置系统管理任务1:管理时间  82
8.3.2  准备/设置系统管理任务2:管理根密码  83
8.4  配置虚拟客户机  84
8.5  系统管理任务  86
8.6  管理根密码  89
8.6.1  创建两个环境文件  89
8.6.2  将环境文件上传到托管Chef组织  90
8.6.3  为每个服务器分配一个环境  91
8.6.4  修改每个服务器的运行列表,以运行Managedroot烹调书  91
8.6.5  对节点应用更改  92
8.6.6  校验实施的策略  93
8.7  小结  94
参考文献  94
第9章  用Chef管理VMware vSphere  95
9.1  Knife插件  96
9.1.1  knife-vsphere入门  97
9.1.2  配置knife.rb文件  97
9.1.3  校验配置  99
9.1.4  组合  99
9.2  Chef配给  101
9.2.1  Chef配给架构  102
9.2.2  Chef配给入门  102
9.2.3  启动某些节点  103
9.3  小结  105
第四部分  Ansible
第10章    Ansible简介  108
10.1    Ansible架构  108
10.2    准备Ansible测试实验室  109
10.3    Ansible组  110
10.4    Ansible临时命令执行  110
10.4.1    Ping模块  111
10.4.2    Command模块  111
10.4.3    User模块  111
10.4.4    Setup模块  112
10.5    Ansible剧本  112
10.6    Ansible角色  117
10.7    Ansible Galaxy  121
10.8    小结  121
参考文献  121
第11章    Ansible系统管理任务  122
11.1    Web服务器部署  122
11.2    应用层  123
11.3    数据库层  124
11.4    角色结构优化  126
11.5    VMware资源管理  128
11.6    小结  132
参考文献  132
第五部分  PowerShell
第12章    PowerShell预期状态配置简介  134
12.1    什么是PowerShell DSC  134
12.2    PowerShell DSC需求  135
12.3    PowerShell DSC组件  136
12.3.1    原生命令集  136
12.3.2    托管对象格式文件  136
12.3.3    本地配置管理器  137
12.4    PowerShell DSC配置  138
12.5    PowerShell DSC模式  140
12.5.1    本地推送模式  140
12.5.2    远程推送模式  140
12.5.3    拉取模式  141
12.6    PowerShell DSC资源  142
12.7    小结  144
参考文献  144
第13章    PowerShell DSC实施策略  145
13.1    PowerShell DSC在VMware环境中的用例  145
13.2    用PowerCLI进行脚本化VM部署  146
13.3    在VM模板中加入PowerShell DSC  148
13.4    对新VM实施PowerShell DSC配置所面临的挑战  148
13.4.1    PowerCLI Invoke-VMscript  149
13.4.2    PowerCLI Copy-VMGuestFile  150
13.5    经验教训总结  151
13.6    未来PowerShell DSC在VMware环境中的用例  151
13.7    小结  152
参考文献  152
第六部分  利用容器进行应用程序部署
第14章  Docker应用容器简介  154
14.1    什么是应用程序  154
14.1.1    隐藏的复杂性  154
14.1.2    依赖性和配置冲突  155
14.2    Linux容器  155
14.2.1    控制组  155
14.2.2    命名空间  156
14.2.3    容器管理  157
14.3    使用Docker  157
14.3.1    安装Docker  157
14.3.2    Docker守护进程  158
14.3.3    Docker客户端  158
14.3.4    Docker索引  158
14.3.5    运行Docker容器  158
14.3.6    列出运行的容器  159
14.3.7    连接到运行的容器  159
14.3.8    构建和分发Docker容器  161
14.3.9    Dockerfile  161
14.3.10    Docker Hub  162
14.3.11    Docker与虚拟机的对比  163
14.3.12    Docker与配置管理的对比  163
14.4    小结  163
参考文献  163
第15章  大规模运行Docker容器  164
15.1    容器编排  164
15.2    Kubernetes  165
15.3    Kubernetes部署  166
15.3.1    CoreOS和Kubernetes群集管理工具  166
15.3.2    CoreOS群集部署  167
15.3.3    etcd服务器配置  171
15.3.4    Flannel网络覆盖  172
15.3.5    Kubernetes群集节点  172
15.3.6    Kubernetes服务部署  174
15.3.7    Kubernetes工作负载部署  175
15.4    用Docker实现平台即服务  178
15.5    小结  179
参考文献  179
第七部分  DevOps工具链
第16章    使用Razor配给服务器  182
16.1    Razor的工作原理  182
16.2    使用Razor  184
16.2.1    Razor集合和操作  186
16.2.2    构建Razor集合  192
16.3    使用Razor API  201
16.4    Razor组件  203
16.4.1    Razor服务器  203
16.4.2    Razor微内核  203
16.4.3    Razor客户端  203
16.5    安装Razor  203
16.5.1    PE Razor  204
16.5.2    Puppet安装  204
16.5.3    从来源安装  204
16.5.4    人工安装发行版本  204
16.5.5    其他服务  204
16.6    小结  206
参考文献  206
第17章    ELK——Elasticsearch、Logstash和Kibana简介  207
17.1    Elasticsearch概述  207
17.1.1    入门  208
17.1.2    理解索引  208
17.1.3    使用数据  209
17.1.4    安装插件  212
17.1.5    使用客户端  214
17.2    Logstash概述  215
17.2.1    入门  216
17.2.2    配置Logstash输入  216
17.2.3    应用过滤器  218
17.2.4    理解输出  219
17.3    Kibana概述  219
17.3.1    共享和保存  223
17.3.2    自定义数据视图  223
17.4    小结  223
参考文献  224
第18章    用Jenkins实现持续集成  225
18.1    持续集成概念  225
18.1.1    持续集成还是持续部署  226
18.1.2    测试自动化  226
18.2    Jenkins架构  227
18.3    Jenkins部署  228
18.4    Jenkins工作流  230
18.4.1    Jenkins服务器配置  230
18.4.2    Jenkins构建任务  232
18.4.3    Git钩子  235
18.4.4    你的第一次构建  237
18.5    质量保证团队  239
18.5.1    验收测试  239
18.5.2    开发团队  239
18.5.3    构建/测试基础设施  239
18.6    小结  239
参考文献  239
第八部分  VMware DevOps实践
第19章    DevOps环境中的VMware vRealize Automation  242
19.1    DevOps的出现  242
19.2    稳定的敏捷性  243
19.3    人、过程和Conway法则  243
19.4    vRealize Automation  244
19.5    vRealize Application Services  245
19.6    Puppet集成  247
19.7    Code Stream  252
19.8    小结  256
参考文献  256
摘要
Preface?前    言什么是DevOps?是可以从供应商那里买到,解决所有IT问题的产品吗?是分析师用来引起CIO注意的行业流行词吗?虽然IT社区对DevOps的介绍接近于大肆追捧,但那更多的是因为DevOps确实能够带来好处,而不仅仅只是行业的广告宣传。
    DevOps这一术语指的是一组帮助各种规模的组织更快地从IT投资中获得价值的方法、理念和工具。这个词的确切含义是什么?想象一下,在你的组织中为了将软件项目从概念阶段、软件开发一直推进到生产部署,需要多少时间和过程?这个过程越长,IT组织向整个公司展示价值所需的时间就越长。由于技术无处不在,客户期待IT服务的交付像移动应用商店那么容易。他们不愿意为了一项功能的实现而等待数年,对客户的要求反应迟钝的公司难以获得长期的成功。
    DevOps如何解决客户交付速度问题?例如,配置管理技术可以避免服务器配置漂移,加速在线购买新服务器处理客户请求快速增长的过程。持续集成可以确保自动化测试在开发者提交源代码时进行。这只是本书所讨论技术的两个例子。
    网络规模IT组织(如Etsy、Netflix和Amazon Web Services)被视为DevOps的典范。但是,Gene Kim的DevOps企业峰会参与者的数量证明DevOps也能给传统IT组织带来价值。
    所以,做好思想准备,DevOps正在来临。好消息是,你可以为所在IT组织DevOps行动的成功做出贡献。本书的目标不仅是介绍DevOps的概要思路,还将提供DevOps工具和技术的实例。
    关于本书在我们的经验中,DevOps的概念和工具可以显著地改进IT运营。虽然Amazon和Rackspace等大型IT组织已经在它们的环境中实施DevOps并取得成效,但是许多企业级IT组织对DevOps实践仍处于熟悉阶段。
    本书的目标是为读者提供上述IT组织获得成功所借助的DevOps工具的实操示例。
    本书的读者本书是为具备VMware vSphere虚拟化管理程序(hypervisor)和Linux操作系统使用经验的系统管理员所写。我们将循序渐进地介绍DevOps从业者所使用软件解决方案的使用方法,每章都提供后续研究所需的额外资源。
    本书内容本书介绍的主题从虚拟化专业人士如何获得DevOps实践知识的概述开始,然后讨论DevOps从业人员使用的各种工具。
    第1章讨论DevOps的概念,包括这一术语的定义以及DevOps相关实践有助于IT组织成功的原因。
    第2章介绍DevOps从业人员使用的一些流行工具。第3章准备建立测试环境,以使用本书中的示例代码。
    第4~6章介绍Puppet配置管理解决方案,包括简介、多层次应用部署,以及Puppet与VMware vSphere服务器和虚拟机管理集成的介绍。
    第7~9章介绍Chef配置管理解决方案,包括简介、常见系统管理任务,以及Chef和VMware vSphere环境管理集成的介绍。
    第10章和第11章介绍Ansible配置管理和编排解决方案,包括这种技术和各种应用程序部署的基本知识。
    第12章介绍PowerShell 预期状态配置(PowerShell Desired State Configuration,DSC)的基础知识,包括Microsoft Windows PowerShell这一新功能的架构和主要用例。为了阐述DSC的基本功能、解释组成该功能的不同组件,提供了样板代码。
    第13章探索VMware管理员在其环境中实施PowerShell DSC的方法。本章包括专门针对VMware管理员(可能不是Windows系统管理员)使用DSC提供额外价值及能力的用例。本章讨论了不同的方法,相应地强调和讨论了每种方法的建议和局限。
    第14章讨论对企业IT组织来说相对新颖的一种应用程序部署范型:Linux容器的使用。本章用实操示例讨论Docker容器管理系统的基础知识。
    第15章进一步讨论Linux容器,介绍Google Kubernetes,这是一种在数据中心大规模管理容器的开源工具。
    第16章描述如何安装、配置和使用Razor——一种全生命期自动配给工具,组合了安装、服务器管理和配置工具。
    第16章详细介绍Razor的所有关键概念和组件,首先描述Razor的工作原理和入门使用方法。一旦了解了Razor的概念和结合DevOps工具用于自动化配给的方法,你就能够发现Razor的不同功能组件。最后,本章介绍了Razor的最优安装和配置方法。
    第17章介绍Elasticsearch、Logstash和Kibana(ELK)栈。这些工具都可以单独使用,但是结合使用可以成为日志管理的完美组合。本章单独介绍每一种工具,以及如何组合它们、最大限度地利用它们的能力提升日志管理的效率。
    第18章介绍用于持续集成的Jenkins,讨论如何在代码提交到源代码库之后自动交付。
    第19章讨论VMware自身的DevOps倡议,包括VMware vRealize Automation与DevOps工具的集成,以及新的VMware vRealize Code Stream解决方案。
    致    谢?Acknowledgements许多人对本书给予了帮助,我要感谢他们在任务完成中对我们的直接和间接影响:
    感谢Gene Kim在忙于自己的著作(《The DevOps Handbook》)和DevOps企业峰会规划工作时抽出时间,指导本书的内容和写作过程的多个方面。
    感谢Nick Weaver通过Razor方面的作品向VMware社区介绍Puppet,开启了我的DevOps之旅。
    感谢VMware出版社的Joan Murray,他的有力支持推动了本书的写作。
    感谢Kelsey Hightower在Linux容器及其大规模协调方面提供的专业知识。
    感谢Aaron Sweemer提供了VMware内部的联络人,和本书的读者分享公司的DevOps愿景。
    感谢我的合著者,感谢他们对我所领导的这一书籍项目的耐心和持续支持。
    感谢Scott Lowe、Nick Silkey和Matt Oswalt为本书内容提供的宝贵反馈。
    ——Trevor Roberts,Jr.我要感谢在写作我自己的那部分内容时给我提供帮助的几个人。感谢Don Jones、Steven Murawski和Alan Renouf在我寻求VMware管理员可能从PowerShell DSC得到的益处时提供的重要指导。没有他们的深刻见解和观点,我可能仍然在实验室中苦苦思索。还要感谢Trevor Roberts,Jr.邀请我参加这个项目。最后,我要感谢VMware社区的大力支持和对本书的兴趣。希望你们和我一样喜欢这本书。
    ——Josh Atwell感谢开源社区,没有你们,我就不能拥有这么出色和令人惊异的工具。
    ——Egle Sigler首先,我要感谢Trevor Roberts,Jr.给我参与本书创作的机会。感谢《Promise Theory: Principles and Applications》的合著者Mark Burgess,Mark在书中介绍了当今配置管理背后的科学知识,其中许多都是我们日常使用的。最后,我对Chef的每个人都心存感激,在Chef社区中,我才能迸发出许多灵感。
    ——Yvo van Doorn

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网