全书目录

第四十九篇:Terraform 完全指南 —— 基础设施蓝图总工局宇宙

第四章:最重要的总心智 —— Terraform 不关心你怎么想施工,它关心最终城市该长什么样

1 分钟 274 字 第 913 / 962 个阅读单元

理解 Terraform,必须先接受一个核心心智:

Terraform 关注的是目标状态,不是手工操作过程。

也就是说你写的不是:

  • 先干什么
  • 再干什么
  • 最后干什么

你写的是:

  • 最终要有哪些资源
  • 它们之间什么关系
  • 配置应该是什么
  • 依赖怎么连接

比如:

hcl
resource "aws_s3_bucket" "assets" {
  bucket = "software-city-assets-prod"
}

这段代码不是在说“现在执行创建桶命令”。

它在说:

城市里应该存在一个叫 software-city-assets-prod 的对象存储仓库。

如果已经存在,Terraform 会比对。 如果不存在,它会创建。 如果配置变了,它会评估修改。 如果蓝图删掉了,它会考虑销毁。

这和脚本式思维完全不同。

text
脚本思维
= 命令列表

Terraform 思维
= 目标城市蓝图