我想以编程方式使用Terraform,就像API /函数调用一样,可以在多个特定步骤中创建和拆除基础架构。例如,保留几个eip,向一个区域添加一个实例,并在不同的步骤中分配其中一个IP。 Terraform目前将在本地运行,而不是在服务器上运行。
我想知道是否有建议的方法/最佳做法来创建配置以支持此功能?到目前为止,似乎我的选择是:
谢谢!
答案 0 :(得分:0)
我建议使用第三方构建/部署工具(例如Jenkins,Bamboo,Travis CI等来管理由您管理的基础架构的发布,而不是直接使用Terraform。 Terraform。原因是您应该以与应用程序代码完全相同的方式处理您的Terraform代码(即具有适当的构建/发布管道)。作为额外的奖励,这些工具集成了标准API,可用于执行构建和部署过程。
如果您选择不创建构建/部署管道,则其他选项是使用RunDeck等工具,它允许您在服务器上执行任意命令。它还有一个额外的好处,即拥有一个优秀的权限控制系统,只允许指定的用户执行命令。您的其他选择可能是从Terraform的开源版本升级到Pro/Premium版本。此版本包含一个集成的GUI和广泛的API。
至于使用API通过Terraform自动创建/拆除基础架构的最佳实践,无论您使用何种工具,最佳实践都是相同的。您提到了一些好的做法,例如明确定义输入/输出并创建关注点分离,这些都是优秀的做法!我可以推荐的其他一些是: