【问题标题】:Interrupted terraform apply, now cannot destroy or apply中断的 terraform 应用,现在不能破坏或应用
【发布时间】:2021-12-11 07:15:54
【问题描述】:

所以我有一个在目录中运行terraform apply 的应用程序,然后也可以运行terraform destroy。我正在测试应用程序,运行时不小心中断了进程apply

现在它似乎被部分创建的实例卡住了,它识别出我正在创建/销毁的实例的名称,当我尝试apply 时,它说该名称的实例已经存在。但是随后destroy 说没有什么可以破坏的。所以我也做不到。有没有办法解开这个?

【问题讨论】:

    标签: terraform


    【解决方案1】:

    您可以运行以下命令来查看项目目录中所有当前仍处于活动状态的资源:

    $ terraform state list
    

    要销毁每个资源,请在每个单独的资源上运行以下命令:

    $ terraform destroy --target=resource.name
    

    如果有很多,可以编写一个脚本来循环遍历“terraform state list”输出。

    【讨论】:

      【解决方案2】:

      恐怕唯一的选择是这样做:

      1. 执行terraform state rm RESOURCE 示例:terraform state rm aws_ebs_volume.volume

      2. 从您的云提供商手动删除资源。

      【讨论】:

        【解决方案3】:

        通过确保从云提供商资源定义中删除尾随逗号(在 AWS 上),我能够摆脱这种状态。然后我用terraform refresh 刷新了状态。之后我就可以再次计划和申请了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-15
          • 2019-06-28
          • 2019-06-11
          • 1970-01-01
          • 2011-06-23
          • 1970-01-01
          • 2021-06-26
          相关资源
          最近更新 更多