通过 8 个基于终端的引导式实验学习 Terraform 的核心基础设施即代码工作流。课程从在 Ubuntu 上安装 Terraform 开始,随后编写 HCL 配置、初始化 provider、预览和应用变更、参数化资源、定义输出、组织本地模块、检查 state,并执行受控销毁。
课程特意使用 hashicorp/local provider 管理实验环境内的文件,让你专注于 Terraform 的核心概念和命令行为,而无需引入云平台、云凭据或计费基础设施。
你将学到什么
完成课程后,你将能够:
- 从 HashiCorp 官方 Ubuntu 软件源安装 Terraform,并验证软件源签名密钥。
- 使用 HCL 声明所需 provider,通过
terraform init初始化项目并检查下载的 provider 文件。 - 定义
local_file资源,使用terraform plan预览变更,应用配置并验证生成的文件。 - 声明带类型的输入变量并传入值,使资源配置更灵活且可复用。
- 基于资源属性定义 outputs,并使用
terraform output读取结果。 - 构建带有输入和输出的本地子模块,并从根配置中调用该模块。
- 使用
terraform show、terraform state list和 state 文件检查本地状态,随后移动资源地址并刷新状态。 - 通过
terraform plan -destroy预览删除,运行terraform destroy,并确认资源和 state 都反映销毁结果。
本课程适合谁
本课程适合 Terraform 初学者、初级 DevOps 学习者,以及希望在使用云 provider 前理解声明式基础设施即代码机制的开发者。课程重点解释配置、provider 插件、plan、受管资源、outputs、modules 和 state 之间的关系。
前置要求: 无需 Terraform 经验。你应能在 Ubuntu 终端中导航、创建和编辑文本文件,并阅读命令输出;了解配置文件和命令行软件安装会有所帮助。
学习环境: 8 个实验均在平台提供的 Ubuntu 22.04 终端环境中运行。你会在第一个实验安装 Terraform,后续练习使用本地项目目录与 hashicorp/local provider,不涉及浏览器云控制台。
常见问题
会创建 AWS、Azure、Google Cloud 或其他真实云资源吗?
不会。课程中的所有受管资源都是由 hashicorp/local 创建的本地文件。你会学习云 provider 同样采用的 Terraform 工作流,但不会配置云凭据、创建云账号或产生基础设施费用。
state 管理会讲到多深?
state 实验涵盖本地状态查看、列出受管地址、移动资源地址和刷新状态,不包括远程 backend、state 锁、workspace、导入现有基础设施或团队协作流程。
module 实验会使用公共 Terraform Registry 吗?
不会。你会在本地 modules 目录创建子模块,定义变量和输出,再从根配置调用它。模块发布、版本管理和 Registry 模块使用不在课程范围内。
学习前需要在自己的电脑上安装 Terraform 吗?
不需要。安装练习会在平台提供的 Ubuntu 实验环境中完成,后续实验也会提供所需环境,无需修改个人电脑。





