第 7 章 · 基础设施即代码


文档摘要

第 7 章 · 基础设施即代码 第 6 章的 K8s 管理运行状态,本章回答"状态从哪来":把基础设施本身变成代码。Terraform 用声明式语言描述云的期望状态、以 state 文件跟踪现实;Ansible 用过程式剧本管理机器上的配置。两条路线看似竞争,实为互补——本章分别讲透它们的核心机制,最后给出"Terraform 管供给、Ansible 管配置"的组合姿势。 解剖坐标 学习目标 完成本章后,你将能够: 说清 IaC 的价值与 Terraform/Ansible 的定位分野(供给 vs 配置) 掌握 Terraform 命令生命周期与 HCL 核心语法,会用 count/foreach 理解 state 的三要素、远程 backend 与锁,知道为什么不能把 state 放

第 7 章 · 基础设施即代码

第 6 章的 K8s 管理运行状态,本章回答"状态从哪来":把基础设施本身变成代码。Terraform 用声明式语言描述云的期望状态、以 state 文件跟踪现实;Ansible 用过程式剧本管理机器上的配置。两条路线看似竞争,实为互补——本章分别讲透它们的核心机制,最后给出"Terraform 管供给、Ansible 管配置"的组合姿势。

解剖坐标

学习目标

完成本章后,你将能够:

  • 说清 IaC 的价值与 Terraform/Ansible 的定位分野(供给 vs 配置)
  • 掌握 Terraform 命令生命周期与 HCL 核心语法,会用 count/for_each
  • 理解 state 的三要素、远程 backend 与锁,知道为什么不能把 state 放 Git
  • 设计可复用的模块,掌握 create_before_destroy 与 import 的用法
  • 理解 Ansible 无代理架构、六大组件与幂等性
  • 掌握变量优先级与 forks/serial/throttle 的执行控制

章节导航

01 基础设施即代码与Terraform核心

IaC 的价值、Terraform 的声明式与无代理特性、核心命令生命周期(init/plan/apply/destroy)、HCL 语法(resource/data/variable/output/locals)、count 与 for_each 的取舍、条件表达式。

02 状态管理与模块化

state 文件三要素与四大作用、远程 backend(S3 + DynamoDB 锁)、workspace 与环境隔离、模块设计与版本化、依赖与生命周期(create_before_destroy/taint/provisioner)、import 与 state mv、多 region/多账号。

03 Ansible配置管理与最佳实践

无代理架构与可变基础设施、六大组件(task/module/inventory/play/playbook/role)、playbook 结构、常用模块、幂等性、变量优先级、forks/serial/throttle、测试与最佳实践。

前置知识

  • 第 1 章《DevOps 基础与 SRE》的声明式/过程式与配置漂移概念
  • 第 3 章《Linux 系统》的命令行与 SSH 基础

后续延伸

  • 第 8 章《CI/CD 与 GitOps》:流水线中跑 plan/apply,GitOps 管 K8s 清单
  • 第 9 章《云平台与网络》:Terraform 管理的资源实体

发布者: 作者: 灏天文库 转发
评论区 (0)
U