Appearance
Terraform 介绍
什么是 Terraform?
Terraform 是 HashiCorp 开发的(IaC)工具,支持使用代码的方式定义、预览和管理基础设施。 它采用声明式配置语言(HCL,HashiCorp Configuration Language),用户只需定义目标状态,Terraform 就会自动计算并执行达到目标状态所需的变更步骤。
Terraform 核心特性
1. 多云与多平台支持
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 步:
- 编写配置:用 HCL 描述基础设施的目标状态
- 初始化环境:
terraform init
下载 Provider 插件,初始化工作目录 - 计划变更:
terraform plan
计算当前状态与目标状态的差异 - 应用变更:
terraform apply
按计划执行变更操作
TIP
一句话总结: Terraform = 用代码统一管理所有基础设施,实现快速、可靠、可追踪的交付。