--- title: Infrastructure as Code type: concept tags: [IaC, 基础设施, 自动化, 云原生] sources: ["sources/DevOps-Culture-and-Transformation.md"] last_updated: 2026-04-15 --- ## 定义 Infrastructure as Code(IaC)是一种通过代码管理基础设施的方式,使用版本控制系统存储环境配置,实现基础设施的自动化 provisioning 和一致性管理。 ## 核心价值 - **一致性**:所有环境使用相同配置,消除"在我机器上能跑"问题 - **版本控制**:基础设施变更可审查、可回滚 - **自动化**:减少人工操作,降低错误率 - **可重复性**:同一代码可部署至多个环境 ## 关键工具 - [[HashiCorp]] Terraform:声明式 IaC 工具,支持多云 - AWS CloudFormation:AWS 原生 IaC 服务 - [[Ansible]]:[[Red Hat]] 的配置管理和应用部署工具 ## 在 DevOps 中的角色 - IaC 是 [[CI/CD Pipelines]] 的基础设施支撑层 - 配合 [[Docker]] 和 [[Kubernetes]] 实现容器化环境的自动化管理 - 支撑 [[GitOps]] 工作流:以 Git 为单一真实源管理基础设施 ## Aliases - IaC - Infrastructure as Code - 基础设施即代码