如何处理损坏的Terraform TFState文件



我正在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

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

不确定错误与kubernetes资源和豆荚有关。

但是,如果您需要刷新/重新创建水桶,则可以污染。

terraform taint aws_s3_bucket.examplebucket
terraform plan
terraform apply

让我知道这是否有帮助。

如果Terraform试图创建已经存在的东西,则需要 import 将资源用于Terraform。

在这种情况下,每种Terraform资源都在其文档中,底部列出了AWS_S3_BUCKET,有关如何导入。

在这种情况下,以下命令应执行以下技巧:

terraform import aws_s3_bucket.bucket **BUCKETNAME**

替换 bucketname 用桶。

最新更新