为什么需要远程保存 terraform 状态文件?
why is it required to persist terraform state file remotely?
我是 Terraform 的新手。有人可以解释一下吗
why do we need to save .tfstate file in local or remote storage,
当 terraform apply 总是用新的基础设施刷新状态文件。
提前致谢。
状态文件跟踪 Terraform 管理的资源,无论是创建的还是导入的。 Terraform 的刷新仅检测托管资源中的漂移,不会检测您是否在状态文件之外创建了新资源。
如果您丢失了状态,您将最终得到不受 Terraform 管理的孤立资源。如果出于某种原因,您对此表示满意,或者您有其他方式与其他团队共享状态 members/CI 并进行备份,那么您就可以了。
当然,使用 Terraform 的远程状态可以巧妙地解决这些问题,所以如果您关心这些事情中的任何一个或者认为您将来可能需要(您可能会),您应该使用它。
我会添加一个更面向开发者的视角来帮助理解。
想想你正在使用 yarn
或 npm
做一个 NodeJS 应用程序,package.json
就像你的 tf
文件,而 yarn.lock
或 package-lock.json
.
不过不要照字面意思理解,因为地形状态文件具有物理基础含义。
我是 Terraform 的新手。有人可以解释一下吗
why do we need to save .tfstate file in local or remote storage,
当 terraform apply 总是用新的基础设施刷新状态文件。
提前致谢。
状态文件跟踪 Terraform 管理的资源,无论是创建的还是导入的。 Terraform 的刷新仅检测托管资源中的漂移,不会检测您是否在状态文件之外创建了新资源。
如果您丢失了状态,您将最终得到不受 Terraform 管理的孤立资源。如果出于某种原因,您对此表示满意,或者您有其他方式与其他团队共享状态 members/CI 并进行备份,那么您就可以了。
当然,使用 Terraform 的远程状态可以巧妙地解决这些问题,所以如果您关心这些事情中的任何一个或者认为您将来可能需要(您可能会),您应该使用它。
我会添加一个更面向开发者的视角来帮助理解。
想想你正在使用 yarn
或 npm
做一个 NodeJS 应用程序,package.json
就像你的 tf
文件,而 yarn.lock
或 package-lock.json
.
不过不要照字面意思理解,因为地形状态文件具有物理基础含义。