kubernetes-sigs/agent-sandbox
agent-sandbox enables easy management of isolated, stateful, singleton workloads, ideal for use cases like AI agent runtimes and reinforcement learning (RL).
解决的问题
Agent Sandbox 为在 Kubernetes 上管理隔离的、有状态的单容器工作负载提供了一种标准化方法。它解决了标准 Kubernetes 对象(如无状态的 Deployments 或编号的 StatefulSets)在需要长期运行的容器、稳定身份和持久化存储的场景下过于繁琐的问题,例如需要安全执行不受信任代码的 AI 代理运行时。
工作原理
该项目引入了 Sandbox 自定义资源定义(CRD)和一个控制器,用于管理具有稳定主机名和网络身份的单个 Pod 的生命周期。它通过 Kubernetes RuntimeClass 将底层容器隔离委托给安全的 "Sandbox Runtimes"(如 gVisor 或 Kata Containers),以确保强大的内核和网络隔离。
为实现可扩展管理,项目还包含以下扩展功能:
- SandboxTemplate:定义可重复使用的配置,用于创建多个相似的沙箱。
- SandboxWarmPool:维护一个预热的沙箱池,以减少启动延迟。
- SandboxClaim:允许用户从预热池中请求并采用沙箱。
适用人群
- AI 开发者:需要在安全、隔离环境中执行 LLM 生成代码的 AI 代理开发者。
- 平台工程师:提供云开发环境或持久化笔记本会话(如 Jupyter)的工程师。
- DevOps 工程师:需要托管单实例有状态服务(如构建代理)但又不想承担 StatefulSets 开销的工程师。
主要亮点
- 强隔离性:与 gVisor 和 Kata Containers 集成,运行不受信任代码时提供增强的安全性。
- 稳定身份:确保每个沙箱具有一致的主机名和网络身份。
- 生命周期管理:支持工作负载的创建、计划删除、暂停和恢复。
- 开发者友好:提供 Go 和 Python SDK,支持程序化地与 Sandbox API 交互。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目