全书目录

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

第十三章:Module / Environment / Workspace 怎么组织 —— 大城市不能只有一张总图

1 分钟 236 字 第 922 / 962 个阅读单元

真实团队里,Terraform 绝不会只有一个 main.tf

比较常见的组织方式是:

text
infra/
├── modules/
│   ├── network/
│   ├── app_service/
│   ├── postgres/
│   └── observability/
├── envs/
│   ├── dev/
│   ├── staging/
│   └── prod/
└── global/

或者按平台分:

text
infra/
├── aws-network/
├── aws-apps/
├── cloudflare-dns/
├── kubernetes-platform/
└── shared-modules/

#Environment

开发、测试、生产环境通常要隔离。 不要用一套 state 硬管理所有环境。

#Workspace

Terraform workspace 可以用,但它不是所有团队的主路径银弹。 很多成熟团队更偏向:

  • 目录隔离环境
  • 单独后端
  • 单独变量
  • 单独 CI pipeline

因为这样更清晰,也更不容易误操作。

城市比喻里:

text
workspace
= 同一总工局里切不同工程视图

独立目录 + 独立 state
= 真正把不同城区分别建档

对大型工程来说,后者往往更稳。