32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
---
|
||
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
|
||
- 基础设施即代码
|