terraform 原理的一点儿思考

181 天前
 jojojoin

从网上听说的原理

terraform 就是将实际的云资源状态和定义的云资源状态 保持一致性

我思考后的原理

  1. terraform 会将所有自己所管理的资源放在 terraform.state 文件里(或者其它 backend )

  2. 不在 state 文件里的资源就不在 terraform 管理的 scope

  3. terraform plan 和 apply 会将定义的文件和 state 文件里的差异体现出来,也就是 state 文件会参照定义的 tf 文件对实际的云资源做变更

  4. terraform destroy 只会删除 state 文件里的云资源,如果你不想让一个云资源被删除使用如下命令 terraform state rm ...

  5. 如果一个云资源真实存在,但是 state 文件没有,tf 文件里面定义了,那么执行terraform apply会创建这个资源,但是会报错,会提示你使用terraform import导入已经存在的资源

总结就是,terraform 工作流程首先对比 tf 文件和 state 文件,state 文件表示现在的云资源的状态,然后对标 tf 文件对实际云资源进行增删改,完事儿之后把状态更新到 state 文件里

1681 次点击
所在节点    DevOps
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX