Terraform 将有关我们基础设施的信息存储在**[tfstate]**中,通常名为**terraform.tfstate**。Terraform 使用状态来确定对我们的基础设施进行哪些更改,例如修改、添加或删除。在应用任何操作之前,Terraform 都会执行刷新操作,以同步当前基础设施的任何资源配置偏差。
在terraform中可以看到两个state文件:terraform.tfstate terraform.tfstate.backup
。
其中terraform.tfstate
是当前状态,执行完terraform apply
会生成这个文件,里面存放生成资源的详细信息。
当执行terraform destroy
,会生成terraform.tfstate.backup
文件,而terraform.tfstate
里面内容被清空,转到backup文件中
不要手动修改state文件!会引起跟线上配置不一致的问题
创建资源后,会生成terraform.tfstate
,如果手动将其删除会怎样?
terraform destroy
,因为创建资源时的详细信息丢失,所以不能删除之前创建的资源。terraform apply
,因为详细信息丢失,所以不能更新资源,而是创建新的资源。