跳至主要内容

使用 OpenTofu 配置基础设施

OpenTofu 的主要功能是创建、修改和销毁基础设施资源,以匹配 OpenTofu 配置 中描述的目标状态。

当人们提到“运行 OpenTofu”时,通常指的是执行这些配置操作以影响实际的基础设施对象。OpenTofu 二进制文件还有许多其他子命令,用于各种管理操作,但这些基本的配置任务是 OpenTofu 的核心。

OpenTofu 的配置工作流程依赖于三个命令:planapplydestroy。所有这些命令都需要一个 已初始化 的工作目录,并且它们都只作用于当前选定的 工作区

计划

tofu plan 命令评估 OpenTofu 配置以确定其声明的所有资源的目标状态,然后将该目标状态与使用当前工作目录和工作区管理的实际基础设施对象进行比较。它使用状态数据来确定哪些实际对象对应于哪些声明的资源,并使用相关基础设施提供程序的 API 检查每个资源的当前状态。

一旦确定了当前状态和目标状态之间的差异,tofu plan 就会显示实现目标状态所需的更改说明。它不会对实际的基础设施对象进行任何实际更改;它只会提供一个更改计划。

计划通常用于验证配置更改并确认结果操作符合预期。但是,tofu plan 也可以将其计划保存为可运行的工件,tofu apply 可以使用它来执行这些确切的更改。

有关详细信息,请参阅 tofu plan 命令

应用

tofu apply 命令执行与 tofu plan 相同的计划,但随后使用相关基础设施提供程序的 API 对每个资源执行计划的更改。它会在进行任何更改之前要求用户确认,除非明确指示跳过批准。

默认情况下,tofu apply 在应用更改之前会执行一个新的计划,并在请求确认时向用户显示计划。但是,它也可以接受 tofu plan 生成的计划文件,而不是运行新计划。您可以使用此功能可靠地执行一组预先批准的确切更改,即使配置或实际基础设施的状态在原始计划创建后的几分钟内发生了更改。

有关详细信息,请参阅 tofu apply 命令

销毁

tofu destroy 命令销毁当前工作目录和工作区管理的所有资源,使用状态数据来确定哪些实际对象对应于受管理的资源。与 tofu apply 一样,它会在继续之前请求确认。

销毁的行为与从配置中删除每个资源然后运行应用完全相同,只是它不需要编辑配置。如果您打算在以后配置类似的资源,这会更加方便。

有关详细信息,请参阅 tofu destroy 命令