Terraform后端空状态
我在terraform上经历了一种奇怪的行为。我一直在做infra。我已将后端状态配置为在azure中的存储帐户中声明我的状态文件。直到昨天一切都很好,今天早上当我试图更新我的infra时,Terraform后端空状态,terraform,Terraform,我在terraform上经历了一种奇怪的行为。我一直在做infra。我已将后端状态配置为在azure中的存储帐户中声明我的状态文件。直到昨天一切都很好,今天早上当我试图更新我的infra时,terraform plan的输出很奇怪,因为它试图将所有资源创建为新的,当我检查我的本地测试时..它是空的 我尝试了terraform pull和terraform refresh但是什么都没有,结果还是一样。我检查了我的远程状态,我仍然声明了所有资源 所以我选择了方案b,复制并粘贴我的远程状态到我的本地项
terraform plan
的输出很奇怪,因为它试图将所有资源创建为新的,当我检查我的本地测试时..它是空的
我尝试了terraform pull
和terraform refresh
但是什么都没有,结果还是一样。我检查了我的远程状态,我仍然声明了所有资源
所以我选择了方案b,复制并粘贴我的远程状态到我的本地项目中,然后再次运行terraform,但什么都没有,terraform似乎忽略了我本地的terraform状态,不想拉远程状态
编辑:
这是我的terraform后端的结构:
terraform {
backend "azurerm" {
resource_group_name = "<resource-group-name>"
storage_account_name = "<storage-name>"
container_name = "<container-name>"
key = "terraform.tfstate"
}
}
地形{
后端“azurerm”{
资源组名称=“”
存储帐户名称=“”
容器名称=“”
key=“terraform.tfstate”
}
}
奇怪的是,我刚刚使用terraform为另一个项目创建了8个资源,它确实创建了所有东西,并在没有任何问题的情况下更新了我的后端状态。问题只在于旧资源
有什么帮助吗?如果您运行
terraform workspace show
您是否在默认工作区?
如果您在本地拥有tfstate,但不在正确的工作区上,terraform将忽略它:
还可以查看您的后端文件结构吗
编辑:
我不知道为什么它会忽略您的远程状态,但我认为您的问题是,当您运行terraform refresh时,它会忽略您的本地文件,因为您有一个远程配置:
用法:地形刷新[选项]
-state=path-读取和写入状态文件的路径。默认为“terraform.tfstate”。使用远程状态时被忽略。
-state out=path-写入更新状态文件的路径。默认情况下,将使用-state路径。使用远程状态时被忽略。
有可能看到您的
地形州拉力输出吗?你好,哈伦,非常感谢您的回复。是的,我在默认工作区中。我将更新我的帖子并添加terraform BackendMate。非常感谢您的时间和帮助。我不知道该如何开始单独工作。没问题,谢谢你的支持!