GitHub - xiaods/k8e: k8e.sh - OpenSource Agentic AI Sandbox Matrix


Typing SVG

Go Version Kubernetes License Stars Release Arch


k8e.sh β€” Open Source Agentic AI Sandbox Matrix. A CNCF-conformant Kubernetes distribution in a single binary under 100MB, purpose-built for secure, isolated AI agent execution at scale. Up and running in 60 seconds. Inspired by K3s.


curl -sfL https://k8e.sh/install.sh | sh -

That's it. Your agentic sandbox matrix is ready. πŸ€–


πŸ“– Table of Contents

# Section
1 πŸ€– What is K8E?
2 πŸ”’ Agentic AI Sandbox
3 ✨ Why K8E?
4 πŸ—οΈ Architecture
5 βš™οΈ Components
6 πŸš€ Quick Start
7 πŸ–₯️ Installation Guide
8 πŸ”§ Configuration
9 πŸ†š K8E vs Others
10 🀝 Contributing
11 πŸ™ Acknowledgments

πŸ€– What is K8E?

K8E (Kubernetes Easy Engine) is an open-source, enterprise-grade Kubernetes distribution and the foundation for the Agentic AI Sandbox Matrix β€” a Kubernetes-native platform for running secure, isolated AI agent workloads at scale.

As autonomous AI agents increasingly generate and execute untrusted code, the need for robust sandboxing infrastructure becomes critical. K8E addresses this directly: it ships as a single binary with everything needed to spin up a production-grade Kubernetes cluster in under 60 seconds, with first-class primitives for agent isolation, resource governance, and ephemeral execution environments.

πŸ”’ One cluster. Many agents. Zero trust between them.


K8E is purpose-built for the AI era. The Agentic AI Sandbox Matrix provides Kubernetes-native infrastructure for deploying, isolating, and governing autonomous AI agent workloads.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AGENTIC AI SANDBOX MATRIX (K8E)                β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  LLM Agent   │───▢│        Sandbox Namespace         β”‚   β”‚
β”‚  β”‚  (any model) β”‚    β”‚                                  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚   β”‚
β”‚                      β”‚  β”‚      Isolated Pod          β”‚  β”‚   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚   β”‚
β”‚  β”‚  Tool Use    │───▢│  β”‚  β”‚  Untrusted Code Exec β”‚  β”‚  β”‚   β”‚
β”‚  β”‚  Code/Browse β”‚    β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚  Network Policy            β”‚  β”‚   β”‚
β”‚                      β”‚  β”‚  Resource Quota            β”‚  β”‚   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚  Kata / runc runtime       β”‚  β”‚   β”‚
β”‚  β”‚  Orchestrator│───▢│  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚   β”‚
β”‚  β”‚  (MCP/A2A)   β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Deploy an Agent Sandbox

# agent-sandbox.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: agent-sandbox
  labels:
    sandbox: "true"
---
apiVersion: v1
kind: Pod
metadata:
  name: ai-agent
  namespace: agent-sandbox
spec:
  containers:
  - name: agent
    image: python:3.11-slim
    resources:
      limits:
        memory: "512Mi"
        cpu: "500m"
    securityContext:
      runAsNonRoot: true
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
  restartPolicy: Never
kubectl apply -f agent-sandbox.yaml

Sandbox Capabilities

Capability Description
πŸ”’ Hardware Isolation Kata Containers integration for VM-level agent isolation
🌐 Network Policies Prevent agent data exfiltration between sandboxes
βš–οΈ Resource Quotas Cap compute per agent to prevent runaway costs
πŸ—‘οΈ Ephemeral Workspaces Auto-cleanup after agent session ends
🧠 Stateful Runtimes Persistent identity and storage for long-running agents
🀝 agent-sandbox compatible Works with kubernetes-sigs/agent-sandbox
πŸ”„ MCP / A2A ready Orchestrate multi-agent pipelines declaratively

✨ Why K8E?

Feature What it means
πŸ€– Agentic Sandbox Matrix Native platform for secure AI agent execution
⚑ 60-second setup Cluster running before your coffee brews
πŸ“¦ Single binary < 100MB Download once, run anywhere
πŸ”’ Security hardened Enterprise-grade policies built in
🌐 CNCF Conformant 100% standard Kubernetes β€” no vendor lock-in
πŸ—οΈ HA with embedded etcd Production-grade clustering out of the box
🧩 Cilium networking eBPF-powered, high-performance networking
πŸ’» Multi-arch x86_64, ARM64, RISC-V all supported
πŸ”„ Helm controller built-in GitOps-ready from day one

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        K8E CLUSTER                          β”‚
β”‚                                                             β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚   β”‚              CONTROL PLANE (Server Node)            β”‚   β”‚
β”‚   β”‚                                                     β”‚   β”‚
β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚   β”‚
β”‚   β”‚  β”‚  API Server  β”‚  β”‚  Scheduler  β”‚  β”‚   etcd   β”‚   β”‚   β”‚
β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚   β”‚
β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚   β”‚
β”‚   β”‚  β”‚ Controller Mgr   β”‚  β”‚    Helm Controller       β”‚  β”‚   β”‚
β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚   β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                          β”‚                                   β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚   β”‚   WORKER NODE 1     β”‚  β”‚   WORKER NODE 2     β”‚         β”‚
β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚         β”‚
β”‚   β”‚  β”‚ Agent Sandbox β”‚  β”‚  β”‚  β”‚ Agent Sandbox β”‚  β”‚         β”‚
β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚         β”‚
β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚         β”‚
β”‚   β”‚  β”‚  Containerd   β”‚  β”‚  β”‚  β”‚  Containerd   β”‚  β”‚         β”‚
β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚         β”‚
β”‚   β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚         β”‚
β”‚   β”‚  β”‚ Cilium (CNI)  β”‚  β”‚  β”‚  β”‚ Cilium (CNI)  β”‚  β”‚         β”‚
β”‚   β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚         β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

βš™οΈ Components

Component Version Purpose
☸️ Kubernetes v1.35.x Core orchestration engine
πŸ”· Cilium Latest eBPF networking & network policy enforcement
πŸ“¦ Containerd v1.7.x Container runtime
πŸ”‘ etcd v3.5.x Distributed key-value store
🌐 CoreDNS v1.11.x Cluster DNS
βš“ Helm Controller v0.16.x GitOps & chart management
πŸ“ˆ Metrics Server v0.7.x Resource metrics
πŸ’Ύ Local Path Provisioner v0.0.30 Persistent storage
πŸ”§ Kine v0.13.x etcd shim for SQLite/MySQL
πŸ›‘οΈ Runc / Kata v1.2.x OCI & hardware-isolated runtimes

πŸš€ Quick Start

Step 1 β€” Install K8E Server

curl -sfL https://k8e.sh/install.sh | sh -

Step 2 β€” Verify

export KUBECONFIG=/etc/k8e/k8e.yaml
kubectl get nodes

Step 3 β€” Add a Worker Node (Optional)

# Get token from server
cat /var/lib/k8e/server/node-token

# On worker machine
curl -sfL https://k8e.sh/install.sh | \
  K8E_TOKEN=<token> \
  K8E_URL=https://<server-ip>:6443 \
  INSTALL_K8E_EXEC="agent" \
  sh -

πŸ–₯️ Installation Guide

🐧 Linux

# Server
curl -sfL https://k8e.sh/install.sh | sh -

# Agent
curl -sfL https://k8e.sh/install.sh | \
  K8E_TOKEN=ilovek8e \
  K8E_URL=https://<SERVER_IP>:6443 \
  INSTALL_K8E_EXEC="agent" \
  sh -

🐳 Docker / Dev Mode

docker run -d --privileged \
  -p 6443:6443 \
  --name k8e-dev \
  xiaods/k8e:latest server --cluster-init

βœ… Verify

kubectl get nodes -o wide
kubectl get pods -n kube-system
cilium status

πŸ”§ Configuration

Environment Variables

# Server
K8E_TOKEN=<secret>
K8E_KUBECONFIG_OUTPUT=<path>
K8E_KUBECONFIG_MODE=644

# Agent
K8E_URL=https://<server>:6443
K8E_TOKEN=<secret>

Systemd

systemctl status k8e
journalctl -u k8e -f
systemctl restart k8e

πŸ†š K8E vs The Alternatives

Feature K8E πŸš€ K3s K8s (vanilla) MicroK8s
Install time ~60s ~90s ~20min ~5min
Binary size <100MB ~70MB ~1GB+ ~200MB
Agentic Sandbox βœ… Native ❌ No ⚠️ Manual ❌ No
eBPF networking βœ… Cilium ⚠️ Optional ⚠️ Optional ❌ No
Enterprise hardened βœ… Yes ⚠️ Partial βœ… Yes ⚠️ Partial
HA embedded etcd βœ… Yes βœ… Yes βœ… Yes ⚠️ Limited
CNCF conformant βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Multi-arch βœ… Yes βœ… Yes βœ… Yes βœ… Yes

🀝 Contributing

git clone https://github.com/<your-username>/k8e.git && cd k8e
git checkout -b feat/my-feature
make
make test
git push origin feat/my-feature

πŸ›‘οΈ Security

Report vulnerabilities via GitHub Security Advisories. Do not open public issues for security bugs.


πŸ“„ License

Apache License 2.0 β€” see LICENSE.


πŸ™ Acknowledgments

Project Contribution
πŸ„ K3s Lightweight Kubernetes foundation that inspired K8E
☸️ Kubernetes The orchestration engine everything is built on
πŸ”· Cilium eBPF-powered networking and security
πŸ€– agent-sandbox Kubernetes-native agent sandboxing primitives
🌐 CNCF Fostering the open-source cloud native ecosystem

k8e.sh β€” Open Source Agentic AI Sandbox Matrix

GitHub Website Docs

If K8E powers your agents, give us a ⭐ β€” it means the world to us!