xiaods/k8e

k8e.sh - OpenSource Agentic AI Sandbox Matrix

K8E는 무엇인가요?

K8E(k8e.sh에 호스팅)는 오픈소스의 AI 에이전트용 사전 격리 환경 플랫폼입니다. 단일 바이너리(< 100MB) 로 제공되어, 어떤 Linux 머신도 자율 에이전트(Claude Code, Codex, Pi 등)가 신뢰할 수 없는 코드를 안전하게 실행할 수 있는 클러스터로 전환합니다. 사전 격리 환경은 플러그인 가능한 격리 런타임(gVisor, Kata Containers, Firecracker microVM)을 사용하며, 에이전트가 직접 호출할 수 있는 가벼운 API(gRPC + E2B 호환 HTTP)를 제공합니다.

핵심 기능

기능 설명
하드웨어 격리 세션별로 gVisor(사용자 공간 커널), Kata(VM 기반), Firecracker(microVM) 중 선택 가능.
네트워크 정책 Cilium(toFQDNs)을 통한 세션별 eBPF 규칙. 외부 프록시 필요 없음.
자원 제한 에이전트별 CPU/메모리 제한으로 비용 폭주 방지.
워밍풀 포드 미리 부팅된 사전 격리 포드로 새 세션의 요청 지연을 500ms 미만으로 유지.
일시적 워크스페이스 세션 종료 후 자동 정리. 하위 에이전트는 부모 포드를 공유하지만 재사용 시 리셋됨.
콘텐츠 주소 기반 스냅샷 SHA-256 기반 계층 저장소와 zstd 압축. --base로 증분 복원 가능.
실행 트랜스크립트 및 로그 파일 기반, 재시작 가능한 명령 로그. k8e-sandbox-cli log로 접근 가능.
관측성 Prometheus 메트릭과 NDJSON 이벤트 스트림(events, ps 명령).
E2B SDK 호환성 공개 E2B SDK와 동일한 API로 기존 SDK 코드 그대로 사용 가능.
CLI 카탈로그 SDK 바인딩 자동 생성에 유용한 기계가 읽을 수 있는 명령 설명(catalog).

아키텍처 개요

AI 에이전트 ──► k8e-sandbox-cli (gRPC/mTLS) ──► 사전 격리 게이트웨이
                                            │
                                            ├─► 워밍풀 컨트롤러 (준비된 포드 유지)
                                            └─► 격리된 사전 격리 포드 (gVisor/Kata/Firecracker)

게이트웨이는 유일한 공개 진입점으로, 세션 라이프사이클, 파일 I/O, PTY 터미널, 스냅샷, 서비스 노출을 처리합니다.

빠른 시작 (30초 설치)

# 1️⃣ 격리 런타임 설치 – gVisor가 기본이며 KVM 필요 없음
ARCH=$(uname -m)
URL=https://storage.googleapis.com/gvisor/releases/release/latest/${ARCH}
wget ${URL}/runsc ${URL}/runsc.sha512 \
     ${URL}/containerd-shim-runsc-v1 ${URL}/containerd-shim-runsc-v1.sha512
sha512sum -c runsc.sha512 -c containerd-shim-runsc-v1.sha512
chmod +x runsc containerd-shim-runsc-v1
sudo mv runsc containerd-shim-runsc-v1 /usr/local/bin/

# 2️⃣ K8E 설치 (단일 바이너리 설치기)
curl -sfL https://k8e.sh/install.sh | sh -

# 3️⃣ 서비스 확인
k8e-sandbox-cli status          # → {"available":true,…}

# 4️⃣ 사전 격리 환경에서 명령 실행
k8e-sandbox-cli run 'echo hello from the sandbox'

위 모든 작업은 최신 x86_64, ARM64, RISC-V Linux 호스트에서 동작합니다.

AI 에이전트에서 사전 격리 환경 사용 방법

  1. 서버에서 API 키 생성 (TTL은 기본 30일):
    k8e sandbox-apikey create my-agent
    # → {"name":"my-agent","key":"k8e-abc123..."}
    
  2. 플랫폼용 클라이언트 바이너리(약 44MB) 다운로드 후 k8e-sandbox-cli에 심볼릭 링크 생성.
  3. 연결 – mTLS 인증 수행 및 에이전트 허브에 /k8e-sandbox 스킬 설치:
    ./k8e-sandbox-cli --endpoint <server-ip>:50051 \
        --apikey k8e-abc123... connect
    
  4. 에이전트는 "이 Python 스크립트를 사전 격리 환경에서 실행해줘"와 같은 자연어 명령을 내릴 수 있으며, 스킬이 내부적으로 k8e-sandbox-cli run ...로 변환합니다.

주요 CLI 명령어 (에이전트 대상)

명령어 목적
run <code> 한 번성 명령 또는 스크립트 실행 (세션 자동 생성).
create 명시적으로 세션 시작 – 런타임, 허용 호스트, Git 리포지토리 등 설정 가능.
destroy <sid> 세션 종료 및 리소스 해제.
write / read / list 사전 격리 환경 내 파일 조작.
subagent <parent-sid> 부모 포드를 재사용하는 자식 사전 격리 환경 생성 (최대 깊이 1).
catalog CLI의 기계가 읽을 수 있는 설명을 덤프 – SDK 생성에 유용.
sandbox-apikey ... 서버 측 API 키 관리 (생성, 목록, 삭제).

K8E를 사용할 때

  • 임의의 코드 실행이 필요한 에이전트 기반 AI 서비스 (예: 코드 생성 에이전트, 데이터 분석 봇).
  • 각 테넌트의 에이전트가 서로 격리되어야 하는 다중 테넌트 플랫폼.
  • 비용 민감한 배포 – 워밍풀 포드로 시작 지연을 낮추면서도 바이너리 크기는 극히 작음.
  • E2B, Daytona, Kubernetes SIG agent-sandbox 프로젝트와 같은 상용 제품의 셀프호스팅 대안.

다른 사전 격리 환경과의 차이점

K8E E2B Daytona agent-sandbox (SIG)
셀프호스팅, 단일 바이너리 ✅ (< 100MB) ❌ 무거운 VM 이미지 ❌ 전체 K8s 클러스터 필요
플러그인 가능한 런타임 gVisor / Kata / Firecracker Firecracker 전용 microVM/컨테이너 RuntimeClass (K8s 필요)
500ms 미만의 시작을 위한 워밍풀
E2B SDK 호환성 ✅ 네이티브
내장된 eBPF 네트워크 정책 ✅ (Cilium)

TL;DR

K8E는 작고 자가 완전한 사전 격리 환경 매트릭스로, AI가 생성한 코드를 확장성 있게 안전하게 실행할 수 있습니다. 런타임(gVisor가 가장 쉬움)을 설치하고, 1줄 설치 스크립트를 실행하며, API 키를 생성하면 에이전트는 밀리초 단위 지연으로 격리된 포드에서 코드를 실행할 수 있습니다. 완전한 Kubernetes 클러스터나 무거운 VM이 필요 없습니다.

관련

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