创建 google 云存储桶并使用相同的 terraform 脚本将 terraform 状态保存到其中?

Create google cloud bucket and save terraform state to it with the same terraform script?

我是 terraform 的新手,正在尝试使用它从头开始创建和配置整个项目。我们目前正在考虑将其视为 1 个 google 项目是一个环境。

将 Terraform 远程状态存储在它正在配置的项目中的存储桶内似乎是合理的。即让 terraform 创建 google 云项目,创建一个存储桶,然后将其自己的远程状态存储在它刚刚创建的那个存储桶中。这似乎也很先进,可能是先有鸡/先有蛋。

是否可以在 Terraform 脚本本身正在创建的项目中存储 Terraform 脚本的远程状态?

不 - 你不能这样做。经过几天的研究,这是不可能的。

您可以使用 Terraform 创建项目和存储桶,然后将状态迁移到该存储桶中。但这是一个回避问题的 chicken/egg 场景,如果您需要 delete/rebuild 包含状态的存储桶会怎样?

更明智的方法是手动创建主项目和远程状态桶。从那里你将有一个项目自动售货机的基础来启动新项目和基线配置。