Terraform失去了GKE集群资源的踪迹
我有一些Terraform文件,从根目录的Terraform失去了GKE集群资源的踪迹,terraform,terraform-provider-gcp,Terraform,Terraform Provider Gcp,我有一些Terraform文件,从根目录的main.tf开始,有很多模块作为子目录,包括3个GKE集群。当我试图添加一个新集群(这是一个基于与其他集群相同的源文件的新模块)时,我把它搞砸了,但不知道如何添加。(虽然我是Terraform的新手,但我对CFN和CDK有相当多的经验,并且知道如何工作。所以我很确定我没有做任何愚蠢的事情)。 事情就是这样(或多或少): 我从地形图开始,以确保它处于清洁状态。Terraform说“没有变化。基础设施是最新的。” 我复制了一个现有的GKE集群模块,并给它的
main.tf
开始,有很多模块作为子目录,包括3个GKE集群。当我试图添加一个新集群(这是一个基于与其他集群相同的源文件的新模块)时,我把它搞砸了,但不知道如何添加。(虽然我是Terraform的新手,但我对CFN和CDK有相当多的经验,并且知道如何工作。所以我很确定我没有做任何愚蠢的事情)。事情就是这样(或多或少):
terraform plan
(使用-out
开关)并验证了即将发生的事情。一切如期而至terraformapply
,但由于GKE K8S主版本无效而失败terraform.tfstate.backup
。据我从互联网上了解到的情况,要从混乱中恢复(导入或手动构建状态),没有简单的方法。我还检查了GS上的状态。状态文件中不再存在GKE群集资源
现在我的问题是:
.terraform
文件夹中。但是我只有一个terraform.state
文件、一些插件目录和一些模块的快捷方式。我非常确定我没有删除任何内容更新:有趣的是,在当前情况下,
TerraformPlan
(除了尝试创建已经创建的集群,例如module.production\u cluster.module.cluster.google\u container\u cluster.main
)想要破坏/创建一些其他资源,类似于module.production\u cluster.module.cluster.null\u resource.cluster\u with\u node\u pool
。但是这些资源依赖于主资源(Terraform已经失去跟踪的集群)。关于如何恢复,您是否尝试过将孤立资源导入到状态文件中?由于您已经有了最初定义它们的代码,并且假设状态文件没有严重损坏,理论上只要您正确地获得Terraform资源地址,就应该只需要导入。