万本电子书0元读

万本电子书0元读

顶部广告

Terraform 实战电子书

1.由浅深,实战功能强大 为用户提供循序渐的门介绍,深剖析更加复杂的现实模式。随着你逐渐学习零停机时间部署等高级技术,你将系统掌握Terraform的精髓,而不是只能简单地复制和粘贴脚本。 2.专业人士编写,参考性强 业界专业人士编写,实战经验丰富,为用户提供实用建议。 3.专业性强,适合专业人士巩固提升 本书适合熟悉主流云平台的发人员和运维人员自学阅读。本书提供了使用JavaScript和Go编写的示例。

售       价:¥

纸质售价:¥74.30购买纸书

47人正在读 | 0人评论 6.8

作       者:斯科特·温克勒(Scott Winkler) 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-04-01

字       数:32.9万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书基于实际项目,揭示如何使用Terraform自动扩展和管理基础架构。本书重介绍了Terraform 0.12的语法、基础知识和高级设计(如零停机时间部署和创建Terraform提供程序)。本书主要内容包括如何使用Terraform,如何管理Terraform资源的生命周期,如何编程,如何在AWS云中部署多层的Web应用程序,如何实现无服务器的部署,如何通过Terraform部署服务器,如何实现零停机部署,如何测试、重构,如何扩展Terraform,如何通过Terraform自动部署,如何实现安全管理。 本书适合作为系统管理员、DevOps工程师、发人员的自学和参考用书。<br/>【推荐语】<br/>1.由浅深,实战功能强大 为用户提供循序渐的门介绍,深剖析更加复杂的现实模式。随着你逐渐学习零停机时间部署等高级技术,你将系统掌握Terraform的精髓,而不是只能简单地复制和粘贴脚本。 2.专业人士编写,参考性强 业界专业人士编写,实战经验丰富,为用户提供实用建议。 3.专业性强,适合专业人士巩固提升 本书适合熟悉主流云平台的发人员和运维人员自学阅读。本书提供了使用JavaScript和Go编写的示例。<br/>【作者】<br/>Scott Winkler是一位DevOps工程师,也是Terraform的专业人士。他在HashiConf和HashiTalks上展示过自己的成果,并且是HashiCorp的核心贡献者。Scott在社区中很活跃,发了许多模块和提供程序。在空闲时间,Scott喜欢骑马。Scott还负责提供Terraform的独立咨询服务。<br/>
目录展开

版 权

版权声明

内容提要

前 言

致 谢

关于本书

作者简介

封面图片简介

服务与支持

第一部分 Terraform训练营

第1章 Terraform入门

1.1 Terraform的优点

1.1.1 置备工具

1.1.2 易于使用

1.1.3 免费且开源的软件

1.1.4 声明式编程

1.1.5 云无关

1.1.6 表达能力强且高度可扩展

1.2 “Hello Terraform!”

1.2.1 编写Terraform配置

1.2.2 配置AWS提供程序

1.2.3 初始化Terraform

1.2.4 部署EC2实例

1.2.5 销毁EC2实例

1.3 新的“Hello Terraform!”

1.3.1 修改Terraform配置

1.3.2 应用修改

1.3.3 销毁基础设施

1.4 炉边谈话

小结

第2章 Terraform资源的生命周期

2.1 过程概述

生命周期函数钩子

2.2 声明本地文件资源

2.3 初始化工作空间

2.4 生成执行计划

检查计划

2.5 创建本地文件资源

2.6 执行no-op

2.7 更新本地文件资源

2.7.1 检测配置漂移

2.7.2 terraform refresh

2.8 删除本地文件资源

2.9 炉边谈话

小结

第3章 函数式编程

3.1 有趣的Mad Libs

3.1.1 输入变量

3.1.2 使用变量定义文件赋值

3.1.3 验证变量

3.1.4 打乱列表

3.1.5 函数

3.1.6 输出值

3.1.7 模板

3.1.8 生成输出结果

3.2 生成许多Mad Libs故事

3.2.1 for表达式

3.2.2 局部值

3.2.3 隐式依赖

3.2.4 count元实参

3.2.5 条件表达式

3.2.6 更多模板

3.2.7 本地文件

3.2.8 压缩文件

3.2.9 应用修改

3.3 炉边谈话

小结

第4章 在AWS中部署多层Web应用程序

4.1 架构

4.2 Terraform模块

4.2.1 模块的语法

4.2.2 根模块

4.2.3 标准模块结构

4.3 根模块

代码

4.4 网络模块

4.5 数据库模块

4.5.1 从网络模块传递数据

4.5.2 生成随机密码

4.6 自动扩展模块

4.6.1 下滴数据

4.6.2 模板化cloudinit_config

4.7 部署Web应用程序

4.8 炉边谈话

小结

第二部分 现实环境下的Terraform

第5章 简单的无服务器部署

5.1 “两美分网站”

5.2 架构和计划

先按组后按大小排序

5.3 编写代码

5.3.1 资源组

5.3.2 存储容器

5.3.3 存储blob

5.3.4 Function应用

5.3.5 最终润色

5.4 部署到Azure

5.5 将Azure资源管理器与Terraform结合起来

5.5.1 部署不支持的资源

5.5.2 从遗留代码迁移

5.5.3 生成配置代码

5.6 炉边谈话

小结

第6章 与朋友协同使用Terraform

6.1 标准后端和增强后端

6.2 开发S3后端模块

6.2.1 架构

6.2.2 扁平模块

6.2.3 编写代码

6.3 共享模块

6.3.1 GitHub

6.3.2 Terraform注册表

6.4 每人一个S3后端

6.4.1 部署S3后端

6.4.2 在S3后端存储状态

6.5 在工作空间中复用配置代码

6.5.1 部署多个环境

6.5.2 清理

6.6 Terraform Cloud简介

6.7 炉边谈话

小结

第7章 CI/CD管道即代码

7.1 两个部署

7.2 GCP上的Docker容器的CI/CD

7.2.1 设计管道

7.2.2 施工设计

7.3 初始工作空间设置

组织目录结构

7.4 动态配置和置备程序

7.4.1 for_each与count

7.4.2 使用置备程序执行脚本

7.4.3 带有local-exec置备程序的null资源

7.4.4 处理重复的配置块

7.4.5 动态块

7.5 配置无服务器容器

7.6 部署静态基础设施

7.7 Docker容器的CI/CD

启动CI/CD管道

7.8 炉边谈话

小结

第8章 多云MMORPG

8.1 混合云负载均衡

8.1.1 架构概览

8.1.2 代码

8.1.3 部署

8.2 在Nomad集群联邦上部署一个MMORPG

8.2.1 集群联邦基础

8.2.2 架构

8.2.3 阶段1:静态基础设施

8.2.4 阶段2:动态基础设施

8.2.5 准备玩家1

8.3 使用托管服务重新设计MMORPG

8.3.1 代码

8.3.2 准备玩家2

8.4 炉边谈话

小结

第三部分 精通Terraform

第9章 零停机时间部署

9.1 自定义生命周期

9.1.1 使用create_before_destroy实现零停机时间部署

9.1.2 其他考虑因素

9.2 蓝/绿部署

9.2.1 架构

9.2.2 代码

9.2.3 部署

9.2.4 蓝/绿切换

9.2.5 其他考虑因素

9.3 配置管理

9.3.1 将Terraform和Ansible组合起来

9.3.2 代码

9.3.3 基础设施部署

9.3.4 应用程序部署

9.4 炉边谈话

小结

第10章 测试和重构

10.1 置备自助基础设施

10.1.1 架构

10.1.2 代码

10.1.3 预部署

10.1.4 污染和轮转访问密钥

10.2 重构Terraform配置

10.2.1 模块化代码

10.2.2 模块展开

10.2.3 使用局部值替换多行字符串

10.2.4 循环多个模块实例

10.2.5 新的IAM模块

10.3 迁移Terraform状态

10.3.1 状态文件的结构

10.3.2 移动资源

10.3.3 重新部署

10.3.4 导入资源

10.4 测试基础设施即代码

10.4.1 编写一个基本的Terraform测试

10.4.2 测试套件

10.4.3 运行测试

10.5 炉边谈话

小结

第11章 通过编写自定义提供程序

11.1 Terraform提供程序的蓝图

11.1.1 Terraform提供程序的基础知识

11.1.2 Pestore提供程序的架构

11.2 编写Petstore提供程序

11.2.1 设置Go项目

11.2.2 配置提供程序模式

11.3 创建宠物资源

11.3.1 定义Create()

11.3.2 定义Read()

11.3.3 定义Update()

11.3.4 定义Delete()

11.4 编写验收测试

11.4.1 测试提供程序模式

11.4.2 测试宠物资源

11.5 生成、测试、部署

11.5.1 部署Petstore API

11.5.2 测试和生成提供程序

11.5.3 安装提供程序

11.5.4 宠物即代码

11.6 炉边谈话

小结

第12章 自动化Terraform

12.1 仿造版的Terraform Enterprise

12.1.1 对Terraform Enterprise实施逆向工程

12.1.2 设计细节

12.2 从根级别开始

12.3 开发一个Terraform CI/CD管道

12.3.1 声明输入变量

12.3.2 IAM角色和策略

12.3.3 构建计划和应用阶段

12.3.4 配置环境变量

12.3.5 声明管道即代码

12.3.6 最终代码

12.4 部署Terraform CI/CD管道

12.4.1 创建源代码仓库

12.4.2 创建最小特权部署策略

12.4.3 配置Terraform变量

12.4.4 部署到AWS

12.4.5 连接到GitHub

12.5 使用管道部署“Hello World!”

对销毁操作排队

12.6 炉边谈话

常见问题

小结

第13章 安全和密钥管理

13.1 保护Terraform状态

13.1.1 从Terraform状态删除不必要的密钥

13.1.2 使用最小特权访问控制

13.1.3 静态加密

13.2 保护日志

13.2.1 哪些敏感信息会被泄露

13.2.2 local-exec置备程序的危险

13.2.3 外部数据源的危险

13.2.4 HTTP提供程序的危险

13.2.5 限制日志访问

13.3 管理静态密钥

13.3.1 环境变量

13.3.2 Terraform变量

13.3.3 重定向敏感的Terraform变量

13.4 使用动态密钥

13.4.1 HashiCorp Vault

13.4.2 AWS Secrets Manager

13.5 Sentinel和策略即代码

13.5.1 编写一个基本的Sentinel策略

13.5.2 阻塞local-exec置备程序

13.6 结语

小结

附录A AWS身份验证

A.1 创建AWS账户

A.2 创建IAM用户

A.3 安装AWS CLI(可选)

A.4 配置凭据文件

A.5 在Terraform中配置AWS提供程序

附录B Azure身份验证

B.1 创建Azure账户

B.2 安装Azure CLI

B.3 通过CLI获取凭据

B.4 在Terraform中配置Azure CLI身份验证

附录C GCP身份验证

C.1 创建GCP账户

C.2 创建新项目

C.3 安装Google Cloud SDK

C.4 Google Cloud SDK的身份验证

C.5 在Terraform中配置GCP提供程序

附录D 使用Shell提供程序创建自定义资源

D.1 安装提供程序

D.2 使用提供程序

D.3 结语

附录E 创建Petstore数据源

E.1 注册数据源

E.2 创建数据源

E.3 编写验收测试

E.4 使用数据源

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部