在 terraform destroy 之前需要 terraform apply 吗?如果没有,您在更新现有基础架构时遵循的工作流程是什么,您如何决定是否需要 destroy

最佳答案

在我看来,这将是非常不标准的。 Terraform destroy 仅用于您想要完全删除基础设施的情况。 terraform 的最大特点之一是它可以对您想要的基础设施和现有基础设施进行智能增量,并且只进行需要的更改。通过执行 refreshplanapply ,您可以确保地形:

  • refresh - 对您当前的基础架构有最新的了解。如果在您的 terraform 脚本之外手动更改了任何内容,这一点很重要。
  • plan - 准备一个列表供您查看 terraform 打算修改或删除(或不理会)的内容。
  • apply - 执行计划中规定的更改。

  • 通过依次执行这 3 个命令,terraform 将仅按所需顺序执行必要的更改,以使您的环境与 terraform 文件的任何更改保持一致。

    我发现销毁在非生产环境中有用的地方,或者在您执行具有侵入性的重组的情况下,从头开始将确保更安全的构建。

    *还有一些极端情况,terraform 可能无法理解正确的操作顺序(我是先修改安全组还是安全组规则?),或者它会发现自己处于依赖循环中而无法执行操作.然而,在这些情况下,运行 destroy 是一种核解决方案。一般来说,我会手动执行问题更改(通过命令行或 AWS 控制台,如果我在 AWS 中),插入它前进,然后运行 ​​refreshplanapply 序列以返回轨道。

    关于terraform - 在 terraform 应用之前需要 terraform destroy 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37464875/

    10-15 04:00