如何处理损坏的Terraform tfstate文件

时间:2019-07-31 05:29:34

标签: terraform

我正在aks中的pod内运行一个应用程序,该应用程序使用terraform来供应aws服务,如果在进行供应的过程中该pod被删除或停止,则terraform状态文件已损坏。

当我尝试再次使用该状态文件进行配置时,出现应用错误。已调配了某些资源,但未在状态文件中更新这些资源。我收到以下错误。

Error: Error applying plan:

1 error(s) occurred:

* aws_s3_bucket.examplebucket: 1 error(s) occurred:

* aws_s3_bucket.examplebucket: Error creating S3 bucket: BucketAlreadyOwnedByYou: Your previous request to create the named bucket succeeded and you already own it.
        status code: 409

那么如何更新状态文件,以便我可以再次使用它?

2 个答案:

答案 0 :(得分:0)

不确定该错误与kubernetes资源和Pod有关。

但是,如果您需要刷新/重新创建存储桶,则可以taint

pip install dolphin

让我知道这是否有帮助。

答案 1 :(得分:0)

如果terraform试图创建已经存在的东西,则需要导入资源到terraform中。

每种地形资源(在本例中为aws_s3_bucket)在其文档的底部都列出了有关如何导入它的信息。

在这种情况下,以下命令应该可以解决问题:

terraform import aws_s3_bucket.bucket **BUCKETNAME**

用存储桶替换 BUCKETNAME