我通过 Terraform 部署了 GCP 基础设施:存储桶、服务帐户、计算引擎、VPC、云 SQL、BigTable、BigQuery、Composer 等。
Terraform v0.11.10 提供商“google”(2.15.0)
最近,客户要求我将我们唯一的一个 terraform 文件(例如 main.tf)拆分为多个文件。例如:一个用于存储桶的文件,另一个用于服务帐户的文件,另一个用于数据库服务的文件,等等。
我的 GCP 存储桶中只有一个 terraform 状态文件。
我怎样才能做到影响最小?地形状态怎么样? (还会有多个状态文件吗?或者即使我们将代码拆分出来,是否也只保留一个 TF 文件?)
注意:这与 Terraform 模块无关,它只是将单个 terraform 文件 (.tf) 分成多个文件 (.tf)
提前致谢!
最佳答案
Terraform 不会为您使用的文件名以及您拥有的文件数量赋予任何特殊含义。相反,Terraform 会读取所有 .tf
文件并一起考虑它们的内容。
因此,您可以自由地将 block 从 main.tf
文件移动到同一目录中任意多个单独的 .tf
文件中,Terraform 会考虑只要您在执行此操作时不更改这些 block 的内容,配置就完全相同。
(Override Files 有一个特殊情况,这使得上述情况并不完全正确。只要您避免将任何文件命名为 override.tf
或使用 _override.tf
后缀表示特殊情况不适用,但我提及它只是为了完整性。)
关于google-cloud-platform - 如何将 terraform 文件(main.tf)拆分为多个文件(无模块)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001764/