88 lines
2.3 KiB
Markdown
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/`에 이동하거나, 시스템 설계 문서에 통합해도 돼.
|