介绍
Alauda Build of Agent Sandbox 提供了一种 Kubernetes 原生方式,用于管理具有稳定身份的隔离、有状态、单实例工作负载。它专为 AI Agent、notebook、开发环境和自动化系统而设计,这些系统需要在专用运行时环境中执行代码或工具。
当前版本是 ACP v4.4 的技术预览版。产品和 ModulePlugin 版本为 v0.5.4-1,基于上游 Agent Sandbox v0.5.4。
什么是 Agent Sandbox
Agent Sandbox 是一个沙箱编排器。你声明一个 Sandbox 自定义资源,控制器会管理对应的 Pod 及其生命周期。Sandbox API 为不适合 Deployment 复制模型或 StatefulSet 序号身份模型的单个工作负载,提供了稳定的名称和状态模型。
Agent Sandbox 不实现容器运行时。运行时隔离仍由工作负载所选择的运行时负责,例如默认 OCI runtime、gVisor 或 Kata Containers。使用 Kubernetes RuntimeClass 选择该运行时。
何时使用 Agent Sandbox
当工作负载需要以下一项或多项特性时,请使用 Agent Sandbox:
- 执行用户提供的脚本、LLM 生成的代码、浏览器自动化或第三方工具。
- 在控制器调谐过程中保持稳定的工作负载标识。
- 通过声明式 API 挂起和恢复执行环境。
- 为隔离的单实例工作负载挂载持久存储。
- 在启用可选扩展控制器时,通过 warm pool 预创建环境。
- 为高风险任务应用更强的运行时边界,例如 Kata Containers。
仅调用外部 API 的受信任 Agent 通常不需要 Sandbox。对于无状态、可复制的应用服务,普通 Deployment 更简单。
当前范围
核心 Sandbox 资源默认可用。以下扩展资源为可选资源,需要 controller.extensions=true:
SandboxTemplate定义可复用的 Sandbox 工作负载模板。SandboxWarmPool保持已准备好的工作负载以供 claim 使用。SandboxClaim从模板或 warm pool 工作流中请求一个 Sandbox。
Agent Sandbox 可补充 Kubernetes 安全控制。请继续使用最小权限 RBAC、Pod Security、NetworkPolicy、可信镜像、资源限制和审计控制。
当前限制
该技术预览版不提供以下产品化能力:
- 面向不应访问 Kubernetes API 的客户端的外部 HTTP API 网关。
- 基于请求活动、CPU 使用率或心跳的原生空闲关闭。
- 在容器环境中保留软件包或操作系统更改的快照机制。
shutdownTime 是一个绝对的 RFC3339 过期时间戳。它不是空闲超时,也不会因命令或网络活动而自动续期。PersistentVolumeClaims 会保留卷中存储的数据,但不会对容器镜像或运行时文件系统进行快照。