Terraform经典实例
Terraform经典实例
Kerim Satirli, Taylor Dolezal
门佳, 王林生 译
出版时间:2026年02月
页数:313
“Terraform正在彻底改变人们构建全球数字基础设施的方式。本书为从业者提供了绝佳的指南,帮助他们利用这一工具解决现实挑战,并在大规模现代基础设施管理中建立秩序。”
——Chris Devers,EditShare技术主管
“这本得力的案头伙伴可以帮助你攻克棘手的任务。”
——Adam McPartlan,Hippo Digital首席顾问

在当今企业的IT版图中,云服务和SaaS软件无处不在,这要求我们从手动配置服务转向以代码化为核心的结构化方法。Terraform提供了强大的工具,能够在数千个不同的云服务提供商和SaaS平台上统一管理整个IT生命周期。
通过将基础设施定义为代码,你可以安全且可预测地进行变更,模块化关键构建块,创建可复用的服务组件。本书中的每个实例都针对特定问题给出解决方案,并在给出解决方案前详尽地解析“如何做”和“为什么这样做”。
如果你刚开始接触Terraform和代码化基础设施,本书将为你打下坚实的基础,为未来数年的实践铺路;如果你已经是高级用户,本书将助你巩固知识,在跨多提供商的复杂基础设施挑战中更上一层楼。
本书的技巧包括:
● 如何结合Terraform与版本控制系统。
● Terraform管理的基础设施的验证与测试方法。
● 导入既有资源的方法。
● 将基础设施服务转化为可复用组件。
● Terraform与其他HashiCorp工具的集成。
● 容器化工作负载的部署。
  1. 前言
  2. 第1章 Terraform快速上手
  3. 1.1 何时使用Terraform
  4. 1.2 何时不宜使用Terraform
  5. 1.3 Terraform的安装与配置
  6. 1.4 理解Terraform provider
  7. 1.5 理解Terraform模块
  8. 1.6 使用terraform console修改Terraform状态
  9. 1.7 使用HashiCorp Cloud Platform Terraform
  10. 1.8 在Visual Studio Code中使用Terraform
  11. 1.9 管理Terraform provider的版本约束
  12. 1.10 部署受版本控制的Terraform代码仓库的策略
  13. 1.11 使用Terraform部署Docker容器
  14. 1.12 从0.x升级到1.x及以上版本的Terraform
  15. 1.13 使用Terraform变量
  16. 1.14 一致代码带来的一致体验
  17. 第2章 Terraform基础
  18. 2.1 格式化与验证Terraform代码
  19. 2.2 使用terraform console进行快速实验
  20. 2.3 使用TFLint提升代码质量
  21. 2.4 使用TFSec提升代码质量
  22. 2.5 使用前置条件与后置条件验证代码
  23. 2.6 使用开放策略代理验证代码
  24. 2.7 使用 terraform-docs 编写代码文档
  25. 2.8 使用 GitHub Actions 自动化代码校验
  26. 2.9 使用Dependabot自动更新provider版本
  27. 2.10 使用GitHub Codespaces与DevContainers
  28. 2.11 使用Terraform限制影响范围
  29. 第3章 Terraform语法模式
  30. 3.1 使用trimspace()清理用户输入
  31. 3.2 删除前缀和后缀
  32. 3.3 使用正则表达式
  33. 3.4 高级字符串处理
  34. 3.5 使用title()、upper()、lower()处理区分大小的字符串
  35. 3.6 按字母顺序排序列表
  36. 3.7 根据CIDR地址块创建子网
  37. 3.8 与本地文件系统交互
  38. 3.9 渲染模板
  39. 3.10 验证输入字符串
  40. 3.11 使用can和try优化数据检索
  41. 3.12 按序处理输入数据
  42. 3.13 为错误输入设计良好的错误消息
  43. 3.14 跨Terraform状态使用数据
  44. 第4章 Terraform模块与provider
  45. 4.1 使用公共模块创建EKS集群
  46. 4.2 使用GitHub Actions检查Terraform的代码规范
  47. 4.3 对Terraform provider进行身份验证
  48. 4.4 私有模块的身份验证
  49. 4.5 创建一个 Terraform 模块
  50. 4.6 使用Terraform管理GitHub机密
  51. 4.7 使用Terraform管理GitHub仓库
  52. 4.8 使用Consul KV实现动态配置
  53. 4.9 基于服务健康状态的provider配置
  54. 4.10 使用provider读取Terraform状态
  55. 4.11 使用多个同类provider
  56. 第5章 使用Terraform管理容器
  57. 5.1 使用本地与远程Docker镜像
  58. 5.2 区分集群部署与集群配置
  59. 5.3 授权Terraform执行集群操作
  60. 5.4 使用YAML在Kubernetes中调度容器
  61. 5.5 使用HCL在Kubernetes中调度容器
  62. 5.6 使用k2tf将Kubernetes YAML转换为HCL
  63. 5.7 调整Kubernetes部署的注解
  64. 5.8 调整Kubernetes Deployment的配置
  65. 5.9 使用Terraform应用Kubernetes NetworkPolicy
  66. 5.10 使用 Helm 部署容器
  67. 5.11 使用Helm为Kubernetes部署启用监控
  68. 5.12 在HashiCorp Nomad中调度容器
  69. 第6章 HCP Terraform与Terraform Enterprise
  70. 6.1 设置HCP Terraform
  71. 6.2 集成HCP Terraform和VCS
  72. 6.3 使用HCP Terraform管理Terraform状态
  73. 6.4 结合使用HCP Terraform与GitHub Actions
  74. 6.5 实现基于HCP Terraform的协作式工作流
  75. 6.6 排查HCP Terraform和Terraform Enterprise的故障
  76. 6.7 以代码形式实施策略
  77. 6.8 使用HCP Terraform管理成本
  78. 6.9 利用远程操作进行大规模部署
  79. 6.10 高级状态管理与恢复
  80. 第7章 在Terraform中使用与管理机密
  81. 7.1 在Terraform中处理敏感数据
  82. 7.2 从HashiCorp Vault中获取“键–值”对
  83. 7.3 使用Kubernetes原生功能管理Kubernetes Secret对象
  84. 7.4 使用Vault和Terraform管理Kubernetes Secret对象
  85. 7.5 将机密存储为环境变量
  86. 7.6 机密审计与轮换
  87. 7.7 使用Terraform与密码管理器管理机密
  88. 7.8 Terraform机密管理的合规性与治理
  89. 7.9 使用HashiCorp Vault管理动态机密
  90. 7.10 在CI/CD流水线中安全注入机密
  91. 第8章 使用Terraform进行配置管理
  92. 8.1 使用Terraform编写shell脚本
  93. 8.2 使用Terraform编写Ansible配置
  94. 8.3 使用Consul键值存储实现动态配置
  95. 8.4 从HTTP接口获取并使用数据
  96. 8.5 在Terraform中应用条件逻辑
  97. 8.6 将现有基础设施导入Terraform
  98. 8.7 使用Terraform工作区
  99. 8.8 使用Terraform模板
  100. 8.9 管理Terraform资源之间的依赖关系
  101. 8.10 使用Terraform实现蓝绿部署
  102. 第9章 高级Terraform技术
  103. 9.1 使用Terraform编写配置文件
  104. 9.2 编写Cloud-Init配置
  105. 9.3 在CI/CD流水线中集成Terraform模块
  106. 9.4 Terraform高级状态管理
  107. 9.5 Terraform与多云策略
  108. 9.6 适用于可伸缩架构的Terraform实践
  109. 9.7 Terraform自定义provider开发
  110. 9.8 将Terraform与监控工具集成
  111. 9.9 使用Terraform管理安全性与合规性
  112. 9.10 Terraform的高级调试技术
  113. 第10章 真实用例
  114. 10.1 使用Terraform工作区管理多个环境
  115. 10.2 跨区域部署高可用Web应用
  116. 10.3 在AWS EKS上部署可伸缩的Kubernetes集群
  117. 10.4 使用Terraform实现蓝绿部署
  118. 10.5 使用Terraform与AWS RDS实现自动化数据库迁移
  119. 10.6 在AWS Lambda与API Gateway上部署无服务器应用
  120. 10.7 使用IaC实施GitOps工作流
  121. 10.8 使用Terraform与竞价实例优化成本
  122. 10.9 使用Terraform部署多云监控解决方案
  123. 10.10 使用Terraform与AWS实现自动化灾难恢复
书名:Terraform经典实例
译者:门佳, 王林生 译
国内出版社:中国电力出版社
出版时间:2026年02月
页数:313
书号:978-7-5239-0736-8
原版书书名:Terraform Cookbook
原版书出版商:O'Reilly Media
Kerim Satirli
 
Kerim Satirli现任HashiCorp高级开发者布道师,专注于可持续的基础设施与编排工作流。
 
 
Taylor Dolezal
 
Taylor Dolezal现任云原生计算基金会(CNCF)生态系统负责人,致力于推动云原生技术的创新与协作。
 
 
本书封面动物是一只北极狐(学名:Vulpes lagopus),这是一种常见于北半球北极苔原的小型狐狸。北极狐是冰岛唯一的陆生哺乳动物,它们在上一个冰河时期末期穿越冻结的海面迁徙至该岛。
北极狐拥有厚实的保暖皮毛和蓬松大尾,非常适应寒冷环境。它们体长通常在
46~68cm之间,身体呈相对圆润的形态,以尽量减少热量流失。为了迎接食物匮乏的冬季,北极狐会囤积脂肪,增重超过50%。凭借这些适应力,北极狐在零下70°C时才会开始发抖。
北极狐数代居住在迷宫般的洞穴,时间可达几十年之久。它们主要捕食旅鼠,其繁殖率与旅鼠种群密度直接相关,后者的种群数量以3~5年为周期波动。食物稀缺时,北极狐会停止繁殖;等到食物丰沛时,一只北极狐一次可产下多达25只幼崽。幼狐4周大时开始出洞活动,9周大时断奶。
尽管部分种群正面临严重威胁,北极狐在IUCN红色名录中仍属无危等级。
购买选项
定价:98.00元
书号:978-7-5239-0736-8
出版社:中国电力出版社