Auto-sync: 2026-04-20 00:02
This commit is contained in:
50
wiki/sources/ctp-topic-48-terraform-vs-terragrunt.md
Normal file
50
wiki/sources/ctp-topic-48-terraform-vs-terragrunt.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: "CTP Topic 48 Terraform vs Terragrunt"
|
||||
type: source
|
||||
tags: [Terraform, Terragrunt, IaC, CTP]
|
||||
date: 2026-04-14
|
||||
---
|
||||
|
||||
## Source File
|
||||
- [[raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/03_Terraform/ctp-topic-48-terraform-vs-terragrunt.md]]
|
||||
|
||||
## Summary
|
||||
- 核心主题:Terraform 与 Terragrunt 的对比与选型
|
||||
- 问题域:基础设施即代码(IaC)工具选择,企业级多环境部署管理
|
||||
- 方法/机制:Terraform 提供声明式配置和状态管理,Terragrunt 作为包装器实现 DRY 原则和变量复用
|
||||
- 结论/价值:Terraform 适合单一环境,Terragrunt 适合多环境企业级部署
|
||||
|
||||
## Key Claims
|
||||
- Terraform 是云无关的基础设施即代码工具,通过状态文件将期望状态与实际环境关联
|
||||
- Terragrunt 是 Terraform 的轻量级包装器,遵循 DRY 原则实现配置复用
|
||||
- Terragrunt 可以重复使用信息而无需硬编码值,管理 provider 和 remote state 块
|
||||
- Terraform Enterprise 是包含工作区的 CI 平台
|
||||
- Gruntwork 提供预构建可定制模块和 Terraform 原生 AWS Landing Zone
|
||||
|
||||
## Key Quotes
|
||||
> "Terraform 是 Golang 应用程序,用于跨各种环境配置、变更和版本控制资源"
|
||||
> "Terragrunt 提供一种可重复使用信息而不硬编码值的方式"
|
||||
|
||||
## Key Concepts
|
||||
- [[Terraform]]:基础设施即代码工具,通过声明式配置定义云资源
|
||||
- [[Terragrunt]]:Terraform 的包装工具,提供模块化和变量共享
|
||||
- [[Infrastructure as Code (IaC)]]:通过代码实现基础设施管理的一致性和版本控制
|
||||
- [[State File]]:Terraform 用于将期望状态关联到实际环境的文件
|
||||
|
||||
## Key Entities
|
||||
- [[HashiCorp]]:Terraform 的开发商
|
||||
- [[Gruntwork]]:提供预构建 Terraform 模块和 Landing Zone
|
||||
- [[Atlantis]]:集成 Terraform 与 GitHub 的开源 CI/CD 工具
|
||||
|
||||
## Connections
|
||||
- [[Terraform]] ← wraps ← [[Terragrunt]]
|
||||
- [[Terragrunt]] ← uses ← [[Infrastructure as Code (IaC)]]
|
||||
- [[Gruntwork Landing Zone]] ← built_with ← [[Terraform]]
|
||||
|
||||
## Contradictions
|
||||
- 无
|
||||
|
||||
---
|
||||
|
||||
## 相关资源
|
||||
- NAS: /volume2/work/Public Cloud Learning Sessions/CTP _ Topic 48_ Terraform vs Terragrunt.mp4
|
||||
Reference in New Issue
Block a user