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를 스케줄링합니다.
  • 격리 백엔드 – 네 가지 옵션:
    1. kfd – Kata + Firecracker, devmapper 씬 풀 사용(빠른 부팅, 최소 공격 표면).
    2. kql – Kata + QEMU, Longhorn PVC로 백업(영구적, 스냅샷 가능 디스크).
    3. k7d – KVM 기반 Katakate 자체 microVM 데몬으로, 디스크와 메모리 모두의 웜 copy-on-write 포크를 약 5ms에 제공합니다.
    4. 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 팀 – 온체인 코드 실행 계층이 필요한 경우.

빠른 시작 스냅샷

  1. Ubuntu 노드에 CLI 설치: sudo add-apt-repository ppa:katakate.org/k7 && sudo apt update && sudo apt install k7.
  2. 클러스터 프로비저닝(백엔드 선택): k7 install --backend kfd,kql,k7d --api-mode development.
  3. 간단한 k7.yaml로 샌드박스 생성 및 실행: k7 create.
  4. CLI로 상호 작용(k7 exec, k7 fork, k7 snapshot) 또는 Python SDK.

성숙도 및 제한 사항

  • 현재 베타이며 보안 검토 중 – 민감한 프로덕션 데이터에는 권장되지 않습니다.
  • k7d 백엔드는 amd64/x86_64에서만 작동합니다. 다른 백엔드는 arm64를 지원합니다.
  • 하드웨어 가상화(KVM)가 필요하며, kfd 백엔드의 경우 여유 원시 디스크가 필요합니다.

모든 세부 사항은 저장소의 README에서 직접 가져왔습니다.

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트