用途:kubernetes-sigs/agent-sandbox 是 SIG Apps 子项目,用 Kubernetes 原生原语承载隔离、有状态、单例的 AI 智能体运行时、代码解释器、浏览器沙盒、开发沙盒和按用户 Jupyter 笔记本,填补 Deployment 与 StatefulSet 之间的空白。当前 API 为 v1alpha1,最新版本 v0.4.5(2026 年 5 月)。
主要能力:提供四类 CRD。Sandbox(agents.x-k8s.io/v1alpha1)是单例 Pod 加无头 Service 和 PVC,replicas 仅支持 0(暂停)或 1(运行);SandboxTemplate、SandboxClaim、SandboxWarmPool(extensions.agents.x-k8s.io/v1alpha1)分别用于复用模板与共享 NetworkPolicy、按请求领取并携带 shutdownTime、预热的 Sandbox 池(可被 HPA 扩缩)。生产上通常使用 extensions CRD,可获得预热池、领取生命周期和网络策略管理。
使用方式:暂无 Helm chart,需应用 release 清单。安装示例: export VERSION="v0.3.10" kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/${VERSION}/manifest.yaml kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/${VERSION}/extensions.yaml 控制器位于 agent-sandbox-system 命名空间,RBAC 为集群级。生产需通过 Kustomize 覆盖 Deployment args,启用 --extensions 并调高 QPS、burst 与各并发 worker 数,默认每控制器 1 worker、10 QPS 会迅速限流。客户端提供 Python(pip install k8s-agent-sandbox)和 Go(go get sigs.k8s.io/agent-sandbox/clients/go/sandbox)SDK,支持网关、本地隧道和集群内直连模式,均经 sandbox-router 服务访问 Pod。
限制:spec.replicas 不是扩缩原语;启用 Managed 网络策略且未自定义时默认拒入仅放行 app: sandbox-router,出站屏蔽 RFC1918 与链路本地地址,并由控制器注入公共 DNS;一旦自定义网络策略需自行放行 UDP/TCP 53 并处理边车探针端口。automountServiceAccountToken 默认 false。v0.1.x→v0.2.1 控制器由 StatefulSet 改为 Deployment,指标端口从 80 变 8080;v0.2.x→v0.3.10 WarmPool 改为创建 Sandbox CR 且 status.sandbox.Name 变为小写 name。该技能面向熟悉 CRD、控制器、NetworkPolicy 与 RBAC 的读者,不适用于无状态短任务,也不单独构成多租户隔离方案。