Files
service-catalog/agent/update_catalog/docs/architecture-local-vs-k8s.md
T
2026-03-06 17:08:31 +09:00

88 lines
2.3 KiB
Markdown

# OpenClaw 기반 MCP Tool 아키텍처 (로컬 vs K8s)
아래는 동일한 MCP Tool 세트를 **로컬 환경**과 **K8s 환경**에서 실행할 때의 아키텍처 비교다.
---
## 1) 로컬 환경 아키텍처
```mermaid
flowchart LR
subgraph LocalHost[Local Host]
OC[OpenClaw Agent]
Skills[Skills Registry]
Tools["MCP Tools<br/>(helm_diff, breaking_check,<br/>generate_doc, update_docs, create_pr, deploy_validate)"]
Repo["dip-catalog Repo<br/>(manifests/helm/...)"]
Files["Docs/Outputs
(upgrade.md, PR metadata)]
Secrets[Local Secrets
(.env / keychain)"]
end
OC -->|Skill 호출| Tools
OC --> Skills
Tools --> Repo
Tools --> Files
Tools --> Secrets
OC -->|GitHub API| GH[GitHub]
OC -->|LLM API| LLM[LLM Provider]
```
**특징**
- OpenClaw와 MCP Tools가 같은 머신에서 실행
- `chart_path`는 로컬 디렉토리 기준으로 바로 접근
- Secrets는 로컬 파일/.env/키체인으로 관리
- 배포 검증이 필요하면 로컬 K8s(kind/k3d) 사용
---
## 2) K8s 환경 아키텍처
```mermaid
flowchart LR
subgraph K8s["Kubernetes Cluster"]
OC["OpenClaw Agent Pod"]
Skills["Skills Registry"]
Tools["MCP Tools<br/>(helm_diff, breaking_check,<br/>generate_doc, update_docs, create_pr, deploy_validate)"]
Repo["Git Repo Volume
(dip-catalog)"]
NS[Test Namespace]
end
OC -->|Skill 호출| Tools
OC --> Skills
Tools --> Repo
Tools --> NS
OC -->|GitHub API| GH[GitHub]
OC -->|LLM API| LLM[LLM Provider]
Secrets[Secrets/ConfigMap] --> OC
Secrets --> Tools
NP[NetworkPolicy] --- OC
```
**특징**
- OpenClaw가 Pod로 실행되고 Tools는 같은 Pod 또는 별도 Service로 동작
- repo는 볼륨으로 마운트하거나 git clone으로 동기화
- secrets는 K8s Secret/ConfigMap으로 주입
- deploy_validate는 테스트 네임스페이스에 실제 배포
- NetworkPolicy/RBAC로 최소 권한 운영
---
## 차이 요약
| 구분 | 로컬 환경 | K8s 환경 |
|------|-----------|----------|
| 실행 위치 | 로컬 머신 | K8s Pod/Service |
| repo 접근 | 로컬 파일 시스템 | 볼륨 마운트/클론 |
| secrets | .env/키체인 | Secret/ConfigMap |
| 배포 검증 | kind/k3d | 테스트 네임스페이스 |
| 보안 통제 | OS 권한 | RBAC/NetworkPolicy |
---
필요하면 이 문서를 `design/`에 이동하거나, 시스템 설계 문서에 통합해도 돼.