Terraform
使用 Terraform 进行基础设施即代码是什么?
基础设施即代码 (IaC) 工具允许您使用配置文件而不是通过图形用户界面来管理基础设施。IaC 允许您以安全、一致和可重复的方式构建、更改和管理您的基础设施,方法是定义您可以版本控制、重用和共享的资源配置。
Terraform 是 HashiCorp 的基础设施即代码工具。它允许您以人类可读的声明式配置文件定义资源和基础设施,并管理您的基础设施生命周期。使用 Terraform 比手动管理您的基础设施有几个优点
- Terraform 可以管理多个云平台上的基础设施。
- 人类可读的配置语言可帮助您快速编写基础设施代码。
- Terraform 的状态允许您跟踪部署过程中的资源更改。
- 您可以将配置提交到版本控制中,以安全地协作进行基础设施管理。
管理任何基础设施
Terraform 插件称为提供程序,允许 Terraform 通过其应用程序编程接口 (API) 与云平台和其他服务交互。HashiCorp 和 Terraform 社区已经编写了 1000 多个提供程序来管理 Amazon Web Services (AWS)、Azure、Google Cloud Platform (GCP)、Kubernetes、Helm、GitHub、Splunk 和 DataDog 上的资源,仅举几例。在 Terraform Registry 中查找许多您已经使用的平台和服务的提供程序。如果您找不到所需的提供程序,您可以编写自己的提供程序。
标准化你的部署工作流
提供程序定义单个基础设施单元,例如计算实例或专用网络,作为资源。您可以将来自不同提供程序的资源组合成可重用的 Terraform 配置,称为模块,并使用一致的语言和工作流程来管理它们。
Terraform 的配置语言是声明式的,这意味着它描述了基础设施所需的最终状态,与需要逐步执行任务的程序式编程语言相反。Terraform 提供程序会自动计算资源之间的依赖关系,以便按正确的顺序创建或销毁它们。

要使用 Terraform 部署基础设施
- 范围 - 确定项目的基础设施。
- 编写 - 编写基础设施的配置。
- 初始化 - 安装 Terraform 管理基础设施所需的插件。
- 计划 - 预览 Terraform 将进行的更改以匹配您的配置。
- 应用 - 进行计划的更改。
跟踪你的基础设施
Terraform 会跟踪您在状态文件中记录的实际基础设施,该状态文件充当您环境的事实来源。Terraform 使用状态文件来确定对您的基础设施所做的更改,以便使其与您的配置匹配。
协作
Terraform 允许您使用远程状态后端与团队成员协作您的基础设施。当您使用 HCP Terraform(最多五名用户免费)时,您可以安全地与您的团队成员共享您的状态,为 Terraform 提供一个稳定的运行环境,并防止在多人同时进行配置更改时出现竞争条件。
您还可以将 HCP Terraform 连接到版本控制系统 (VCS),例如 GitHub、GitLab 等,使其能够在您向 VCS 提交配置更改时自动提出基础设施更改。这让您可以像管理应用程序代码一样通过版本控制来管理您的基础设施更改。
快速入门
使用 Terraform 在托管终端中构建和销毁 Docker 容器。
启动终端
本教程包括一个免费的交互式命令行实验室,您可以跟随实际云基础设施进行操作。
下一步
现在您已经熟悉了基础设施即代码和 Terraform 的核心概念,您可以准备编写自己的基础设施配置了。
继续下一个教程,在您的本地机器上安装 Terraform 并部署 Docker 容器。