课程 在 DevOps 技能树

Terraform 入门

在本课程中,学习使用 Terraform 进行基础设施即代码 (Infrastructure as Code) 的基础知识。探索安装、项目设置、资源创建、变量、输出、模块、状态管理和资源销毁。

DevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

通过 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 实验环境中完成,后续实验也会提供所需环境,无需修改个人电脑。

教师

labby
Labby
Labby is the LabEx teacher.