Terraform工具已经成为DevOps领域的关键角色。在各种云平台和虚拟化环境(如AWS、Goolge Cloud、Azure等)中,可以对基础设施即代码(laC)进行定义、部署和管理。这本书介绍了如何通过Terraform在多云和混合云的环境下使用基础设施即代码,把软件工程的优秀实践应用于硬件的管理。作为Terraform首著的第2版,本书针对Terraform 0.12版本的重大升级,进行了内容的拓展和更新,展示了如何快速学习和使用Terraform的优秀实践。书中通过大量的代码示例,介绍了Terraform的基本功能、企业级模块化部署、自动化测试,以及团队环境下使用IaC的开发部署流程。本书不仅充分展现了Terraform作为一种IaC工具的魅力,还通过多角度的对比,使读者能够准确把握如何在实战中使用和配置该软件。系统管理员、DevOps工程师、开发人员和云服务技术从业者,都能从本书中找到所需要的知识与指导。
......(更多)
Yevgeniy(Jim)Brikman喜欢编程、写作、演讲、旅行和举重。他是Gruntwork公司的联合创始人,该公司提供DevOps服务。他还是O'Reilly Media出版的另一本书Hello, Startup的作者。作为一名软件工程师,他曾就职于领英(LinkedIn)、TripAdvisor、思科(Cisco)及Thomson Financial,并在康奈尔大学获得学士和硕士学位。更多信息请访问ybrikman.com。
白宇,曾担任西部数据、贝尔、加拿大丰业银行、飞利浦半导体、西门子通信、松下高通等多家500强公司的系统架构工程师、运维架构师,以及Atlassian 产品认证专家,长期从事 DevOps、SRE、企业云部署、SaaS、IaaS、IaC等软件工程相关的技术咨询。
......(更多)
第1章 为什么使用Terraform 1
DevOps的崛起 1
什么是基础设施即代码 4
基础设施即代码的好处 16
Terraform的工作原理 18
Terraform与其他IaC工具的比较 20
小结 35
第2章 Terraform入门 36
设置AWS账户 37
安装Terraform 41
部署单台服务器 42
部署单个Web服务器 50
部署可配置的Web服务器 58
部署Web服务器集群 64
部署负载均衡器 69
清理工作 77
小结 78
第3章 如何管理Terraform的状态 80
什么是Terraform的状态 81
共享存储状态文件 83
Terraform后端的局限性 91
隔离状态文件 93
terraform_remote_state数据源 104
小结 115
第4章 使用Terraform模块创建可重用基础设施 117
模块基础知识 120
模块的输入 123
模块的局部 127
模块的输出 130
模块中的陷阱 132
模块版本控制 136
小结 142
第5章 Terraform技巧和窍门:循环、if条件语句、部署和陷阱 144
循环 145
有条件的判断 165
零停机部署 179
Terraform陷阱 189
小结 198
第6章 生产级Terraform代码 199
为什么构建生产级基础设施需要漫长的过程 201
生产级基础设施检查清单 203
生产级基础设施模块特点 205
小结 237
第7章 如何测试Terraform代码 239
手动测试 240
自动测试 247
小结 305
第8章 如何在团队环境下使用Terraform 308
在团队中实施IaC 308
部署应用程序代码的工作流程 315
部署基础设施代码的工作流程 325
将上述各点整合在一起 348
小结 350
附录A 推荐阅读资料 252
关于作者 352
后记 356
......(更多)
......(更多)