0Pricing
Terraform Infrastructure as Code · 课时

理解 Terraform 计划与应用

学习 Terraform 的核心工作流:plan 如何预览更改、apply 如何执行更改,这是安全基础设施即代码的核心。

理解 Terraform 计划与应用 是 CoddyKit 上的免费 Terraform Infrastructure as Code 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Terraform Infrastructure as Code 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Terraform Infrastructure as Code 课程共包含 4 节课。

核心工作流

Terraform 的日常循环很简单:编写配置,运行 plan 进行预览,然后运行 apply 使其生效。掌握计划与应用是安全 IaC 的核心。

plan 的作用

terraform plan 会比较三项内容——您的配置、当前状态和实际基础设施——然后显示用于使它们保持一致的操作,但不会进行任何更改。

terraform plan

阅读符号

计划输出使用以下符号:+ 表示创建,- 表示销毁,~ 表示就地更新,-/+ 表示先销毁再重新创建(即替换)。

示例计划

添加 S3 存储桶会生成类似下面的计划——需要添加一个资源。

Terraform will perform the following actions:

  # aws_s3_bucket.logs will be created
  + resource "aws_s3_bucket" "logs" {
      + bucket = "my-logs"
      + id     = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

应用后已知

有些值(例如生成的 ID 或 IP)目前还无法预测。Terraform 会将它们标记为应用后已知,待资源实际创建后再填入。

保存计划

您可以将计划保存到文件中,稍后应用完全相同的计划,从而确保 apply 严格执行您审查过的内容,不多做任何操作。

terraform plan -out=tfplan
terraform apply tfplan

apply 的作用

terraform apply 通过提供商 API 执行计划中的操作,然后更新状态文件。如果没有保存的计划,它会先显示计划并询问您。

terraform apply

确认提示

默认情况下,apply 会暂停并要求您输入 yes 才能继续。自动化可以使用 -auto-approve,但只能用于您已经审查过的计划。

依赖排序

Terraform 会构建依赖关系图,并按正确顺序应用资源——例如自动先创建安全组,再创建引用该安全组的实例。

幂等性

Terraform 具有幂等性:在没有任何更改的情况下再次应用,您会得到“没有更改”。配置是事实来源,因此重复应用最终会收敛到一致状态。

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

最佳实践

始终先运行 plan 再运行 apply,并像进行代码审查一样检查计划——特别留意销毁操作。在 CI 中使用已保存的计划;绝不要手动编辑状态。

快速检查

测试您对 plan/apply 的理解。

回顾

回顾:plan/apply 循环是 Terraform 的核心——plan 比较配置、状态和实际情况;使用 -out 保存计划;apply 按依赖顺序运行;并且具有幂等性。

常见问题解答

「理解 Terraform 计划与应用」课时是免费的吗?

是的 — 「理解 Terraform 计划与应用」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Terraform Infrastructure as Code 课程的其余内容,请升级到 CoddyKit PRO。 Terraform Infrastructure as Code 课程共包含 4 节课。

「理解 Terraform 计划与应用」这节课中我会学到什么?

学习 Terraform 的核心工作流:plan 如何预览更改、apply 如何执行更改,这是安全基础设施即代码的核心。 你通过在浏览器中直接运行的动手代码来练习 Terraform Infrastructure as Code,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Terraform Infrastructure as Code 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Terraform Infrastructure as Code 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「理解 Terraform 计划与应用」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Terraform Infrastructure as Code 课中编写并运行代码吗?

能。每节 Terraform Infrastructure as Code 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. IaC 与 Terraform 简介
  2. Terraform 安装与 CLI 基础
  3. 您的第一个 Terraform 配置
  4. 理解 Terraform 计划与应用
← 返回 Terraform Infrastructure as Code