45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
---
|
||
id: Service-Catalog
|
||
title: "Service Catalog"
|
||
type: concept
|
||
tags:
|
||
- DevOps
|
||
- IaC
|
||
- Terraform
|
||
- Landing-Zone
|
||
last_updated: 2026-04-19
|
||
---
|
||
|
||
## Aliases
|
||
- Service Catalog
|
||
- 服务目录
|
||
|
||
## Summary
|
||
- **定义**:封装业务需求的基础设施模块分组,提供服务级别抽象
|
||
- **用途**:跨团队、跨账户复用基础设施配置,实现独立发布周期
|
||
- **云迁移价值**:通过分层抽象实现基础设施即服务模式
|
||
|
||
## Key Details
|
||
- **分层结构**:
|
||
- Terraform Service Catalog:全局共享,供所有产品团队使用
|
||
- Product Team Service Catalog:团队内部复用
|
||
- Account-level Module:单账户使用
|
||
- **Service vs Module**:
|
||
- Service:业务需求封装,部署一组 Module
|
||
- Module:技术需求实现,单一功能单元
|
||
- 层级越高,配置选项越少(类似面向对象抽象)
|
||
- **版本化管理**:
|
||
- 使用语义化版本(major.minor.patch)
|
||
- Terragrunt targeting 特定版本而非 master 分支
|
||
- 避免意外变更引入生产环境
|
||
|
||
## Key Components
|
||
- **main.tf**:定义模块引用和依赖关系
|
||
- **terragrunt.hcl**:目标版本和输入变量配置
|
||
- **outputs**:跨服务依赖值传递
|
||
|
||
## Connections
|
||
- [[Terraform]] ← uses ← [[Service-Catalog]]
|
||
- [[TerraGrunt]] ← references ← [[Service-Catalog]]
|
||
- [[Module]] ← contained_by ← [[Service-Catalog]]
|
||
- [[Landing-Zone]] ← managed_by ← [[Service-Catalog]] |