Terraform · HashiCorp 基础设施即代码工具|使用与开发全指南
项目仓库: https://github.com/hashicorp/terraform
开源协议:Business Source License(BSL)1.1 · 语言:Go · 仓库内容:仅 Terraform Core(CLI + 图引擎) · Provider 来源:Terraform Registry · 官方文档:developer.hashicorp.com/terraform
1 项目简介
Terraform 是一个安全、高效地构建、变更与版本化基础设施的工具,可管理主流云服务商与自定义内部方案。它用高-level 配置语言描述基础设施(Infrastructure as Code),通过执行计划(plan)与资源图(resource graph)实现可预测的基础设施变更。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | Terraform |
| 仓库地址 | github.com/hashicorp/terraform |
| 项目定位 | 基础设施即代码(IaC)工具 |
| 开源协议 | BSL 1.1 |
| 仓库内容 | 仅 Core(CLI + 图引擎) |
| Provider 分发 | Terraform Registry 插件 |
| 官方文档 | developer.hashicorp.com/terraform |
1.2 适用场景
- 用代码管理云/本地基础设施。
- 生成可审阅的执行计划后再 apply。
- 跨云厂商复用基础设施蓝图。
1.3 能力边界(官方口径)
- 本仓库只含 Terraform Core;Provider 以插件形式从 Registry 自动下载。
- Provider 由 HashiCorp 与第三方组织分别开发。
2 核心特性
- Infrastructure as Code:用高级配置描述数据中心蓝图,可版本化、共享、复用。
- Execution Plans:plan 步骤生成执行计划,apply 前预知变更。
- Resource Graph:构建资源图,并行创建无依赖资源。
- Change Automation:复杂变更集最小人工介入,避免人为错误。
3 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/hashicorp/terraform | Core 源码 |
| 文档 | docs | 官方文档 |
| 入门教程 | Getting Started | Learn 平台 |
| Terraform Registry | registry.terraform.io | Provider |
| 插件开发 | Plugin development | 写 Provider |
4 使用方式
普通使用者从 HashiCorp Learn 的 Getting Started 入手:编写
.tf 配置文件,定义资源,然后:
# 初始化(下载 Provider)
terraform init
# 生成执行计划
terraform plan
# 应用变更
terraform apply5 开发 Terraform Core
- 本仓库仅含 Core(CLI + 主图引擎)。
- 编译与贡献见
.github/CONTRIBUTING.md。 - Bug 处理见
BUGPROCESS.md。
6 常见问题
- Provider 去哪了:本仓库不含 Provider,运行时从 Terraform Registry 自动下载对应插件。
- 想写自己的 Provider:参考 Plugin development 文档。
- 认证:可考 HashiCorp Certified: Terraform Associate。
7 风险与说明
- 许可证:BSL 1.1,商业使用需阅读条款。
- 配置即代码:
.tf文件纳入版本管理,注意凭据不要硬编码。 - 非官方声明:本文基于官方仓库 README 整理,命令以 main 分支最新为准。