【问题标题】:Is templating Terraform files a good idea?模板化 Terraform 文件是个好主意吗?
【发布时间】:2020-06-26 13:09:48
【问题描述】:

tl;dr:如果您管理数百个 terraform 文件,是否值得用成熟的编程语言编写高级引擎来管理这些文件?

我花费大量时间编辑、复制和更改 terraform 文件以更改基础架构。虽然 cicd 曾经对基础架构进行更改,但在部署新版本时,使用 cp 和 seds 来更改 terraform 文件并创建新文件。

我发现对我们的 cicd 管道进行更改有点复杂。

我想有一套模板,我可以使用 python 引擎来管理,创建文件,计划和应用,...

这是个好主意吗?你有经验吗,或者你也尝试过?

【问题讨论】:

  • 如果您有数百个 Terraform 配置文件,那么听起来架构非常不理想。你可能想重新架构。
  • 看看 terragrunt 是否对您的用例有所帮助。
  • @MattSchuchard 每个服务器(组)部署一个文件,每个服务器都部署了它的依赖项,我不知道我们怎样才能做得更好。
  • @taleodor,我会测试它;使用 Kapitan,因为它似乎等同于 helm,但也适用于 terraform 文件。

标签: python automation terraform continuous-deployment continuous-delivery


【解决方案1】:

Terraform HCL 模块(.tf 文件)的通用模板似乎是一个几乎不可逾越的目标,在此过程中您会失去很多智能编辑器和 IDE 支持。

您最好将更改的值移动到 .tfvars 或 terragrunt.hcl 文件中,并坚持使用 sed 脚本或订阅 Gruntwork 并使用他们的 terraform-update-variable 脚本,该脚本有很多测试和功能可以证明有用。

【讨论】:

  • 你能提供一些链接吗?我找不到 gruntwork terraform-update-variable 脚本。我也遇到了Kapitan github.com/deepmind/kapitan;我想用它作为 helm 来处理 terraform 文件。
猜你喜欢
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 2010-11-05
  • 2015-04-21
  • 1970-01-01
相关资源
最近更新 更多