基础设施即代码管理 (Infrastructure as Code Management)
Harness 基础设施即代码管理 (IaCM) 模块帮助团队以声明式的方式定义、版本控制和治理云基础设施。核心功能
基础设施管理
- Terraform 支持:完整支持 Terraform 工作流
- Terragrunt 支持:管理复杂的 Terraform 模块结构
- 多云支持:AWS、Azure、GCP 等主流云平台
- 蓝图库:预置的基础设施模板加速配置
版本控制
- Git 集成:所有基础设施变更通过 Git 管理
- 变更历史:完整的审计追踪
- 回滚能力:轻松回滚到之前的版本
- 代码审查:通过 PR 流程进行变更审核
策略治理
- OPA 集成:强制执行基础设施安全策略
- 合规检查:确保基础设施符合行业标准
- 漂移检测:识别实际状态与期望状态的偏差
- 自动纠正:自动修复基础设施漂移
模块注册表
- 模块化管理:注册和复用基础设施模块
- 版本管理:管理模块的不同版本
- 治理规则:为模块设置使用策略
适用场景
| 场景 | 说明 |
|---|---|
| 基础设施标准化 | 通过蓝图统一团队的基础设施配置 |
| 合规治理 | 确保基础设施符合安全策略 |
| 漂移管理 | 自动检测和修复配置漂移 |
| 成本优化 | 识别未使用的资源 |
快速开始
1. 连接基础设施
配置云账户和基础设施连接器。2. 创建/导入基础设施
- 创建新的 Terraform 配置
- 或导入现有的 Terraform 状态
3. 定义基础设施
使用 Terraform HCL 定义资源:4. 配置触发器
设置触发基础设施变更的条件。5. 执行计划
查看变更预览,确认后执行 apply。漂移检测
IaCM 提供自动漂移检测:| 功能 | 说明 |
|---|---|
| 定时检测 | 按计划执行漂移检测 |
| 手动检测 | 随时触发检测 |
| 自动纠正 | 检测到漂移时自动修复 |
与 CI/CD 的关系
| 场景 | IaCM | CI/CD |
|---|---|---|
| 时机 | 基础设施变更 | 应用部署 |
| 工具 | Terraform | 容器编排 |
| 目标 | 云资源 | 应用程序 |
| 触发 | Git 变更 | 镜像更新 |
最佳实践
- 模块化设计:创建可复用的 Terraform 模块
- 状态管理:使用远程状态存储,确保团队协作
- 变更审核:所有变更通过 PR 流程
- 策略先行:先定义策略,再创建资源
- 监控漂移:定期检查基础设施状态