多集群Agent Sandbox是ACK One多集群舰队面向生产级AI智能体提供的多集群沙箱算力方案。它在单集群Agent Sandbox的基础上,通过一个统一的多集群管理平面(Fleet)管理多个ACK集群,突破单集群在容量、故障域上的上限,并借助多集群调度能力提升资源利用率与Sandbox启动效率。
架构总览
用户接入Agent Sandbox有两种典型方式:E2B SDK链路与Kubernetes CR链路。ACK One Fleet将这两条链路延伸到多集群,业务不改架构即可平滑升级。
多集群Agent Sandbox的E2B链路,核心设计之一是Sandbox控制面流量与数据面流量分离:Fleet仅代理Sandbox控制面流量,只负责Agent Sandbox的生命周期管理,数据面流量由子集群自行处理。该设计既保障了控制面的稳定轻量,又释放了数据面的网络极限性能。

核心能力
E2B链路
E2B链路支持以下核心能力:
单集群容量控制:每个子集群配置最大可运行Sandbox数量(Capacity),超出上限后调度器自动调度到其他尚有容量的集群,防止单集群过载。
水位均衡调度:默认根据各集群当前Sandbox使用水位进行均衡分配,充分利用多集群资源。
预热池感知与亲和调度:调度器会优先选择预热Sandbox充足的集群,保证尽可能快速启动Sandbox,提升Agent拉起速度。这在当下流行的RL训练场景中非常有意义。
多集群流控调度:可以单独控制向每个子集群发送Create Sandbox请求的速率,避免子集群相关控制面过载,且会尽量将请求调度到尚有流量空间的集群中。可在集群调度配置文件
sandbox-e2b-scheduler-config中配置。PV跟随Sandbox调度创建:如果每个Sandbox都需要使用独立的PV,支持在舰队层面创建PV,并且支持根据PV的Region进行地域感知调度。Global Sandbox Scheduler会在调度Sandbox成功后,保证PV在目标集群一并创建,降低用户在多集群中管理PV的成本。同时会自动回收(GC)子集群中未被Sandbox使用的PV。
多集群故障转移:当某个集群出现异常时,新的Sandbox创建请求可以被调度到健康集群中,支持手动和自动切换。手动切换更是适合集群运维,会保证新的Sandbox创建请求既不调度到运维集群,又不影响运维集群存量Sandbox的正常访问(比如Connect、休眠唤醒以及执行代码等)。
Kubernetes(SandboxClaim)链路
Kubernetes链路支持以下核心能力:
单集群容量控制:每个子集群配置最大可运行Sandbox数量(Capacity),超出上限后调度器自动调度到其他尚有容量的集群,防止单集群过载。
水位均衡调度:默认根据各集群当前Sandbox使用水位进行均衡分配,充分利用多集群资源。
集群优先级调度:支持将集群划分为优先级分组,优先将Sandbox调度到指定集群(组),资源不足时自动降级到下一优先级集群(组)。
预热池感知与亲和调度:调度器会优先选择预热Sandbox充足的集群,保证尽可能快速启动Sandbox,提升Agent拉起速度。这在当下流行的RL训练场景非常有意义。
多集群故障转移:当某个集群出现异常时,新的Sandbox创建请求可以被调度到健康集群中,支持手动和自动切换。手动切换更是适合集群运维,会保证新的Sandbox创建请求既不调度到运维集群,又不影响运维集群存量Sandbox的正常访问(比如Connect、休眠唤醒以及执行代码等)。
使用限制与计费说明
当前ACK One多集群舰队仍然免费。Kubernetes链路由托管组件组成,无额外计费。E2B链路需要开启多集群Agent Sandbox,开启后舰队上默认会有1个CLB实例和6个ACS实例(4个性能型8c16GiB实例,2个通用型1c2GiB实例)。费用可参考ACS 产品计费说明进行计算。Agent Sandbox最终仍然运行在子集群中,费用参见Agent Sandbox计费说明。