将 gVisor 沙箱引入分布式 Ray 集群
强化学习工作流正越来越多地采用 Ray 作为统一的计算运行时。然而,在大规模动态 rollout 和复杂交互场景下,编排安全、隔离的沙箱已成为瓶颈。为此,已引入一个针对 Ray 的实验性库,将原生、高性能的沙箱功能直接集成到分布式 Ray 集群中。该新库将沙箱表示为 Ray Actors,使其可像其他 Ray 资源一样进行管理。Ray 调度器负责这些沙箱 Actor 的放置与资源分配。每个沙箱 Actor 随后在其指定节点上利用 gVisor 进行隔离执行。框架作者和研究人员现在可使用现有的 Ray API 和模式来管理这些沙箱环境。沙箱 API 提供在环境中创建、配置和执行命令的功能,并支持文件操作和状态检查。对于更高级的使用场景,SandboxRuntime 提供对本地 gVisor 沙箱的直接访问,允许在执行前进行定制。选择 gVisor 在工作负载与宿主机内核之间提供了强隔离边界。这些沙箱轻量级、启动时间低于一秒且内存开销低,适用于动态代理工作负载。Ray 的未来版本计划扩展对其他沙箱运行时(sandboxing runtimes)的支持。用户可在 Google Kubernetes Engine 上尝试 Ray 沙箱功能,并在 GitHub 上提供反馈。