Skip to content

Terraform 介绍

什么是 Terraform?

TerraformHashiCorp 开发的(IaC)工具,支持使用代码的方式定义、预览和管理基础设施。 它采用声明式配置语言(HCL,HashiCorp Configuration Language),用户只需定义目标状态,Terraform 就会自动计算并执行达到目标状态所需的变更步骤。

Terraform 核心特性

1. 多云与多平台支持

https://registry.terraform.io/browse/providers

Terraform 提供 Provider 插件机制,可以统一管理不同平台的资源。例如:

  • 一份代码同时在 AWS 和 Azure 创建相同架构
  • 同时管理本地 VMware 资源与云上的 Kubernetes 集群

2. 声明式配置

Terraform 采用声明式定义:你只需要描述最终的基础设施状态,Terraform 会根据当前状态自动计算差异并执行修改。

hcl
resource "aws_instance" "web" {
  ami           = "ami-123456"
  instance_type = "t2.micro"
}

上面的代码表示“我需要一台指定 AMI 和实例类型的 AWS EC2 实例”,Terraform 会决定是新建还是更新。

3. Plan & Apply 模式

  • terraform plan:预览即将执行的更改,不会直接修改资源
  • terraform apply:实际执行更改,使基础设施达到配置文件描述的状态
  • terraform destroy:销毁所有资源

Terraform 工作流程

Terraform 的执行流程大致分为 4 步:

  1. 编写配置:用 HCL 描述基础设施的目标状态
  2. 初始化环境terraform init 下载 Provider 插件,初始化工作目录
  3. 计划变更terraform plan 计算当前状态与目标状态的差异
  4. 应用变更terraform apply 按计划执行变更操作

TIP

一句话总结: Terraform = 用代码统一管理所有基础设施,实现快速、可靠、可追踪的交付。