Jos*_*dez 26 google-cloud-platform terraform
我有一个通过 Terraform 部署的 GCP 基础设施:存储桶、服务帐户、计算引擎、VPC、云 SQL、BigTable、BigQuery、Composer 等。
Terraform v0.11.10 提供程序“google”(2.15.0)
最近客户要求我将我们仅有的一个 terraform 文件(例如 main.tf)拆分为多个文件。例如:一个文件用于存储桶,另一个用于服务帐户,另一个用于数据库服务等。
我只有一个 terraform 状态文件位于 GCP 存储桶中。
我怎样才能以最小的影响做到这一点?地形状态怎么样?(是否还会有多个状态文件?或者是只保留一个 TF 文件的想法,即使我们将代码拆分出来?)
注意:这与 Terraform 模块无关,它只是将单个 terraform 文件 (.tf) 分成多个文件 (.tf)
提前致谢!
Mar*_*ins 27
Terraform 不会为您使用的文件名和您拥有的文件数量赋予任何特殊含义。相反,Terraform 读取所有.tf文件并将它们的内容一起考虑。
因此,您可以自由地将main.tf文件中的块移动到.tf您喜欢的同一目录中任意数量的单独文件中,并且 Terraform 会认为配置完全等效,只要您在执行此操作时不更改这些块的内容即可。
(Override Files有一个特殊情况,使上述内容不完全正确。只要您避免命名任何文件override.tf或使用_override.tf后缀,则该特殊情况将不适用,但我只是为了完整性才提到它。)
即使您的项目中尚未包含任何模块。Terraform 始终在单个根模块的上下文中运行。该.tf文件位于root模块下。
基于 Terraform 文档:
Terraform 评估模块中的所有配置文件,有效地将整个模块视为单个文档。将各个块分成不同的文件纯粹是为了方便读者和维护者,对模块的行为没有影响。
https://www.terraform.io/docs/language/files/index.html#directories-and-modules
| 归档时间: |
|
| 查看次数: |
17422 次 |
| 最近记录: |