小天管理 发表于 2024年6月24日 发表于 2024年6月24日 从网上听说的原理 terraform 就是将实际的云资源状态和定义的云资源状态 保持一致性 我思考后的原理 terraform 会将所有自己所管理的资源放在 terraform.state 文件里(或者其它 backend ) 不在 state 文件里的资源就不在 terraform 管理的 scope terraform plan 和 apply 会将定义的文件和 state 文件里的差异体现出来,也就是 state 文件会参照定义的 tf 文件对实际的云资源做变更 terraform destroy 只会删除 state 文件里的云资源,如果你不想让一个云资源被删除使用如下命令 terraform state rm ... 如果一个云资源真实存在,但是 state 文件没有,tf 文件里面定义了,那么执行terraform apply会创建这个资源,但是会报错,会提示你使用terraform import导入已经存在的资源 总结就是,terraform 工作流程首先对比 tf 文件和 state 文件,state 文件表示现在的云资源的状态,然后对标 tf 文件对实际云资源进行增删改,完事儿之后把状态更新到 state 文件里
已推荐帖子