在Azure ARM中,我可以使用基础架构作为代码,并使用增量部署,如果有人胖手指ARM配置(例如,删除ARM模板中的VM ),它将不会执行删除(我们可以手动执行此操作,然后调整ARM模板)。
在Terraform中有类似的选项吗?查看stackoverflow,它看起来没有,这使得这种方法对于我们的操作使用来说是有风险的(但对于内部环境/演示是好的)。
有没有合适的方法来降低Terraform的风险?例如,避免意外删除资源。
发布于 2017-08-09 04:04:51
我不知道你说的“增量应用”是什么意思,但是Terraform支持应用计划,所以你需要做的是:
terraform plan -out=plan这将打印对您的基础架构所做的更改,并创建描述这些更改的文件plan。在那之后你就可以开枪了
terraform apply plan只有在计划创建后基础设施的状态没有改变时,这才会执行给定的计划。
发布于 2017-08-15 01:20:11
不确定Azure ARM是如何工作的,但为了避免意外删除,您可以在所需资源/模块的生命周期块中使用prevent_destroy标志。
https://www.terraform.io/docs/configuration/resources.html#lifecycle
https://www.terraform.io/docs/configuration/resources.html#prevent_destroy
prevent_destroy (布尔值)-此标志提供额外的保护,防止给定资源遭到破坏。当它设置为true时,任何包含销毁此资源的计划都将返回错误消息。
https://stackoverflow.com/questions/45575912
复制相似问题