Katakate/k7
Your own self-hosted infra for lightweight VM sandboxes to safely execute untrusted code. CLI, API, Python SDK. ⭐ Star it if you like it! ⭐
k7 – AI 컴퓨팅을 위한 셀프호스팅 보안 VM 샌드박스
개요
- 경량적이고 격리된 가상 머신 샌드박스를 대규모로 배포할 수 있는 오픈소스 플랫폼(Apache-2.0). 안전하게 임의의 코드를 실행해야 하는 AI 에이전트를 대상으로 하지만, 커스텀 서버리스 워크로드, 강화된 CI/CD 러너, 블록체인 실행 레이어에도 사용할 수 있습니다.
주요 구성 요소
| 구성 요소 | 역할 |
|---|---|
| Kubernetes (K3s) | 하나 이상의 노드에서 샌드박스를 오케스트레이션합니다. |
| Kata Containers | 컨테이너를 작은 VM으로 변환하여 강력한 격리를 제공합니다. |
| Firecracker | 초고속 마이크로 VM 부팅(kfd 백엔드를 통해 사용). |
| QEMU | Longhorn 기반 디스크를 갖춘 풀-피처 VM 옵션(kql 백엔드). |
| Longhorn | QEMU 기반 샌드박스를 위한 복제된 PVC 스토리지. 스냅샷과 노드 간 이동을 가능하게 합니다. |
| k7d | Katakate의 자체 마이크로 VM 런타임 데몬. 커스텀 KVM 기반 VMM을 제공하며 초고속 복사-온-라이팅(CoW) 포크(약 5ms)를 지원합니다. |
| Devmapper thin-pool | Firecracker 백엔드를 위한 효율적인 블록 디바이스 스토리지. |
| Cilium (선택 사항) | 네트워크 정책 강제 및 선택적 Hubble 관측 가능성. |
백엔드 – 설치 또는 샌드박스 생성 시 하나를 선택합니다:
kfd– Kata + Firecracker + devmapper(빠른 부팅, 영구 스토리지 없음).kql– Kata + QEMU + Longhorn(영구적, 스냅샷 가능한 디스크).k7d– Katakate 커스텀 KVM 런타임(빠른 CoW 포크, VM 내 Docker 지원).k7d-fc–k7d에 Firecracker 제일러 추가.
성능 하이라이트(Hetzner AX41 노드 중앙값):
- 생성 → 준비 완료:
k7d/k7d-fc는 2.1초,kql은 17.1초. - 웜 포크(디스크 + 메모리 CoW): VMM 레벨에서 약 5ms,
k7d의 경우 끝에서 끝으로 약 2초. - 일시 중지 / 재개:
k7d(메모리 유지)는 1초 미만,kql은 몇 초.
상호 작용 방법
- CLI (
k7) – APT 패키지(apt install k7)로 설치 가능. 명령어에는install,create,list,delete,fork,pause,snapshot, 및 API 제어(api enable/disable)가 포함됩니다. - HTTP API – 클러스터에서
k7-api서비스로 자동 배포됨(기본값 NodePort 31007). TLS는 자체 서명 CA로 설정되며, 실제 인증서를 사용하거나 Caddy 사이드카를 통해 Let’s Encrypt를 사용할 수 있습니다. - Python SDK (
k7-sdk) – 동기 또는 비동기 사용이 가능한 pip 설치 가능 클라이언트. CLI 동작(create,exec,fork,list,delete)을 반영합니다.
일반적인 워크플로
- 노드 준비 – Ubuntu 24.04, KVM 접근 권한, thin-pool을 위한 예비 원시 디스크, Ansible, Docker.
k7 install --backend kfd,kql,k7d실행 – 플레이북이 K3s, Kata, Firecracker, QEMU, Longhorn 및k7d데몬을 프로비저닝합니다.- CLI 구성 – 생성된 CA 인증서를 복사하고 API URL 및 키를 설정합니다.
- 샌드박스 생성 –
k7.yaml(이미지, 리소스, 선택적 에그레스 화이트리스트, 사전 스크립트, 환경 파일)을 제공하고k7 create를 실행합니다. - 코드 실행 –
k7 exec <sandbox> -- '<cmd>'또는 SDK의exec메서드 사용. - 포크 / 스냅샷 – 빠른 브랜치를 위한 웜 CoW 포크(
k7 fork) 또는 QEMU 백엔드를 통한 디스크 전용 스냅샷.
보안 포지션
- 각 샌드박스는 하드웨어 격리된 VM(Kata 또는 커스텀
k7d) 내에서 실행됩니다. - Firecracker 샌드박스는 추가로 chroot-제일링됩니다. Kata는 기본적으로 seccomp를 적용하고 모든 Linux 기능을 제거합니다.
- 네트워크 에그레스는 샌드박스별로 화이트리스트로 설정할 수 있습니다. 선택적 Cilium 정책으로 추가 계층을 더할 수 있습니다.
- 플랫폼은 베타 버전이며 보안 검토 중입니다. 민감한 워크로드에는 주의하여 사용하세요.
로드맵 하이라이트(ROADMAP.md에서 발췌)
- ML 워크로드를 위한 GPU 패스스루 지원.
k7d-fc백엔드를 위한 HA 모드.- 더 세밀한 정책 도구 및 관측 가능성 통합.
사용 대상
- 안전하게 신뢰할 수 없는 코드를 실행해야 하는 AI 에이전트 개발자(예: LangChain ReAct).
- 클라우드 제공자에 의존하지 않고 프라이빗 서버리스 플랫폼을 구축하는 팀.
- Docker-in-Docker 리스크를 피하는 강화된 CI/CD 러너가 필요한 조직.
- AI 기반 dApp을 위한 실행 레이어가 필요한 블록체인 프로젝트.
위 세부 사항은 모두 저장소의 README에서 직접 가져왔으며, 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트