terraform

随着云计算的逐渐流行,创建和管理诸如虚拟服务器、网络、存储、负载均衡等基础设施的方式已然发生转变。传统的手动或者脚本管理方式虽然能够应付数台服务器这种少量使用场景,但是对于多则成百上千的大规模服务器数量来说,显然不再适用和高效。为此,我们需要一种可以自动化的、可重复的以及可靠的创建和管理云基础设施的方法。来自 Google、Amazon、Netflix 等互联网公司的做法表明,基础设施即代码(Infrastructure as code)正是用来解决此类问题的最佳实践。

根据我们长期观察,HashiCorp 旗下的 Terraform 是目前用来编写基础设施即代码的最佳开源工具之一。我们喜爱 Terraform,不仅仅因为它支持 AWS、Google Cloud、Microsoft Azure、DigitalOcean、Linode、Vultr、阿里云、腾讯云等市场上广泛的云供应商,而且也在于它的生态越来越成熟。

本课程将通过真实世界的应用案例来引导你一步一步的入门 Terraform,并在此基础上提高你使用 Terraform 的“姿势水平”。在学完本课程后,你将能够独立编写基础设施即代码,从而自动化管理各种云基础设施。

目录

第 1 章 准备篇

  1. 什么是基础设施即代码
  2. Terraform 简介及工作原理
  3. Terraform 的使用场景
  4. 安装 Terraform
  5. 配置 Terraform 开发环境

第 2 章 入门篇

第 1 节 创建云基础设施

  1. 准备 AWS 用户
  2. 配置 AWS 访问认证
  3. Terraform 初始化
  4. 创建第一个云基础设施资源
  5. HCL 语言基础

第 2 节 变更云基础设施

  1. 输入变量
  2. 使用数据源
  3. 输出变量
  4. 使用模板文件
  5. 处理依赖图

第 3 节 销毁云基础设施

第 3 章 提高篇

  1. 通过 Provisioner 配置服务器
  2. 利用 Terraform 模块重用资源
  3. 与团队成员协同使用 Terraform
  4. 测试云基础设施

第 4 章 技巧篇

  1. 实现循环
  2. 条件选择
  3. 零宕机部署
  4. 格式化并验证 Terraform 代码
  5. 利用 terraform console 对表达式求值