Terraform文件夹结构-模块与文件

StevieHyperB

不确定这个答案是对还是错,但是我只是对人们在现实世界中如何管理Terraform感兴趣?在使用方面,您是否使用模块,不同的环境和协作。

目前,我们正计划建立一个生产,开发和测试环境。全部相似。

现在,我已经以一种定义AWS各个组件的方式制作了Terraform文件,例如,一个用于VPC,IAM,EC2,监视(CloudWatch + CloudTrail + CloudConfig)等。还有一个变量文件和.tfvars对于上述情况,文件是可移植的(所有环境都相同)。因此,如果您需要在一处更改所有内容。这也意味着如果我们有一个特定的项目正在运行,我可以创建一个tf文件,定义该项目的所有资源并将其放入,然后在完成后将其删除。

每个环境在Terraform服务器上都有其自己的文件夹结构。

这太简单了吗?我一直在看模块。

还有像其他团队一样,有没有与Terraform合作的经验?我一直在寻找Atlantis之类的东西来绑定到GitHub,所以任何更改都需要得到批准。但同时,在具有正确的IAM角色的情况下,我可以限制Terraform可以更改的内容。

就像我说的,只是对人们如何管理地形及其体验感兴趣的正确答案可能不是错误的。

谢谢

古杜门克

我的回答只是一个用例...

我们正在使用terraform为几个具有小型特定配置功能的客户部署的应用程序。

我们只有一个VCS存储库。我们不使用VCS分支机构。

对于每个文件夹,我们至少具有远程状态,以便在开发人员之间共享状态。

  • 我们正在使用一个具有远程状态的全局文件夹来在客户配置之间共享状态
  • 我们为每个客户使用一个文件夹,并为每个客户的每个上下文使用工作区(以前的环境)(产品:蓝色/绿色,舞台)
  • 对于所有客户共享的通用基础架构块,我们使用模块

我们主要使用变量来减少每个客户文件夹中特定文件的数量。

希望这能够帮到你...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章