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 샌드박스
무엇인가요?
- k7은 Kubernetes로 관리되는 경량 가상 머신 샌드박스 내에서 신뢰할 수 없는 코드를 실행할 수 있는 오픈 소스 플랫폼입니다. AI 에이전트 및 임의 코드를 안전하게 대규모로 실행해야 하는 기타 워크로드를 대상으로 합니다.
어떻게 작동하나요?
- 오케스트레이션 – K3s(프로덕션 준비 Kubernetes 배포판)를 사용하여 샌드박스 Pod를 스케줄링합니다.
- 격리 백엔드 – 네 가지 옵션:
- kfd – Kata + Firecracker, devmapper 씬 풀 사용(빠른 부팅, 최소 공격 표면).
- kql – Kata + QEMU, Longhorn PVC로 백업(영구적, 스냅샷 가능 디스크).
- k7d – KVM 기반 Katakate 자체 microVM 데몬으로, 디스크와 메모리 모두의 웜 copy-on-write 포크를 약 5ms에 제공합니다.
- k7d-fc – k7d와 Firecracker jailer 결합.
- 기능 – VM 내 Docker, 웜 포크, 일시 중지/재개, 스냅샷/복원, 다중 노드 클러스터, 선택적 Cilium + Hubble 네트워크 정책, REST API.
- 클라이언트 – Debian/Ubuntu
apt패키지는 CLI(k7), 자동 배포 API 서비스, Python SDK(k7-sdk)를 제공합니다.
왜 사용하나요?
- 보안 – 각 샌드박스는 자체 VM에서 실행되어 Docker-in-Docker 위험을 제거하고 신뢰할 수 없는 코드에 대한 강력한 격리를 제공합니다.
- 확장성 – 고처리량 AI 에이전트 워크로드를 위해 설계되었습니다. 웜 포크를 사용하면 실행 중인 샌드박스를 밀리초 단위로 복제하여 대규모 병렬 처리가 가능합니다.
- 유연성 – 하드웨어 및 영속성 요구 사항에 맞는 백엔드를 선택하세요(임시 Firecracker, 영구 Longhorn 또는 사용자 정의 k7d 런타임).
- 오픈 소스 – Apache-2.0 라이선스, GitHub, 문서 및 메일링 주소를 통한 커뮤니티 지원.
누구를 위한 것인가요?
- AI 에이전트 개발자 – 사용자 생성 코드를 안전하게 실행해야 하는 경우.
- 서버리스 플랫폼 구축자 – AWS Fargate의 자체 호스팅 대안을 원하는 경우.
- CI/CD 팀 – Docker-in-Docker 없이 강화된 러너를 찾는 경우.
- 블록체인 / AI dApp 팀 – 온체인 코드 실행 계층이 필요한 경우.
빠른 시작 스냅샷
- Ubuntu 노드에 CLI 설치:
sudo add-apt-repository ppa:katakate.org/k7 && sudo apt update && sudo apt install k7. - 클러스터 프로비저닝(백엔드 선택):
k7 install --backend kfd,kql,k7d --api-mode development. - 간단한
k7.yaml로 샌드박스 생성 및 실행:k7 create. - CLI로 상호 작용(
k7 exec,k7 fork,k7 snapshot) 또는 Python SDK.
성숙도 및 제한 사항
- 현재 베타이며 보안 검토 중 – 민감한 프로덕션 데이터에는 권장되지 않습니다.
k7d백엔드는 amd64/x86_64에서만 작동합니다. 다른 백엔드는 arm64를 지원합니다.- 하드웨어 가상화(KVM)가 필요하며,
kfd백엔드의 경우 여유 원시 디스크가 필요합니다.
모든 세부 사항은 저장소의 README에서 직접 가져왔습니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트