【问题标题】:How to swap between projects with terraform如何使用 terraform 在项目之间进行交换
【发布时间】:2020-07-11 10:37:34
【问题描述】:

嘿,我开始将基础架构迁移到 terraform,遇到了一些我难以回答的问题

  1. 假设我在几个被环境分隔的项目中拥有相同的资源,如何轻松地在不同项目之间进行交换。我是否将其全部存储在一个 tfstate 中 - 还是有多个?它是存储在一个桶中还是几个桶中还是完全存储在其他地方

  2. 你能不能创建一个新的项目,最后有一些随机数,并自动向它部署资源

  3. 如果您可以创建新项目并部署到它 - 如何启用 API 以使 terraform 工作 - 例如 iam.googleapis.com 等。

【问题讨论】:

标签: google-cloud-platform terraform


【解决方案1】:

这里,部分回答你的问题

  1. 如果您只使用一个 terraform,那么您只使用 1 个 tfstate。顺便说一句,当你想更新一个项目时,你必须考虑到所有项目中的所有依赖项(并且你有破坏其他项目的风险),文件更大并且更难维护......我建议你每个项目有 1 个 terraform,每个项目有 1 个 TF 状态。如果您使用通用模式(IP 命名、VM 设置...),您可以创建要在每个项目的 terraform 中导入的模块。
  2. (和 3)是的,然后您可以创建和部署。但我不建议将其用于关注点分离。使用 terraform 来管理您的资源组织(项目、文件夹等)。另一种来管理您的基础架构。

一个好的思考方式是:构建一次,维护很多!所以构建阶段并不是最难的,但是有一些可维护的、易于阅读的、简洁的东西是很难的!!

【讨论】:

  • 嘿,一天过去了,发生了很多变化,我了解了 terragrunt 并开始实施它 - 顺便说一句。按照它的逻辑,你没有 1 个 tfstate - 每个模块都有 xx 个 tfstates - 我认为这种方法更好,但我仍然不确定它将如何保持每个项目的 tfsates - 也许在几个小时内我就会弄清楚并发布我在这里
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-28
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-07
相关资源
最近更新 更多