Terraform中local-exec销毁Provisioner执行失败后的行为是什么?
销毁阶段local-exec Provisioner执行失败的行为
- 当配置了
when = destroy的local-exec Provisioner执行失败时,Terraform会立即终止整个销毁流程,对应的目标资源不会被删除,仍保留在实际环境中。 - 该资源不会被标记为
tainted——taint机制仅针对资源创建、更新阶段的执行失败,销毁阶段的错误不会触发这个标记。 - Terraform会将该资源的状态依然记录为"已存在",后续再次运行
terraform destroy时,会重新尝试执行这个销毁Provisioner。 - 若要绕过失败的Provisioner强行清理,你可以执行
terraform state rm <资源地址>将资源从Terraform状态中移除,之后手动删除实际存在的资源;或者修改Provisioner逻辑,确保其能成功执行。
内容的提问来源于stack exchange,提问作者Pooja Bhatia
相关产品推荐
相关产品推荐

