这个项目能做什么
E2B Runtime 是支撑 E2B Cloud 的完整后端:包括控制平面 API、驱动 Firecracker 的每节点编排器、在每个 VM 内运行的 agent、用于沙箱流量的边缘路由器,以及模板构建器。它为每个 agent 会话提供独立的隔离 Linux 机器,该机器从快照启动,运行 agent 要求的任何内容,并且可以暂停和恢复,就像什么都没发生一样。
它使用 Go 编写,采用 Apache-2.0 许可,由 E2B 构建。同一套代码服务于公共云、专用企业部署,以及可在自有硬件上运行的单机软件包。
设计由两个理念驱动:
- 沙箱就是恢复的快照。模板是存储在对象存储中的预启动 VM。创建沙箱意味着恢复一个 VM,而不是从头启动内核。内存页通过 userfaultfd 惰性提供,根文件系统在只读镜像之上使用写时复制 overlay。
- 控制平面和数据平面绝不混合。API 决定沙箱在哪里运行,而每个节点上的编排器通过 Firecracker、网络命名空间和 cgroups 掌控它如何运行。
功能包括:
- 使用 Firecracker microVM 的硬件隔离沙箱,具有独立的网络命名空间和防火墙。
- 暂停和恢复能力,支持空闲自动暂停,并在有传入流量时透明唤醒。
- 分叉正在运行的沙箱,从检查点即时创建新实例。
- 基于 Docker 镜像的分层模板构建,并具有优化的页面触碰记录。
- VM 内 agent envd 提供进程、PTY、文件系统和端口转发 API。
- 集成 OpenTelemetry,并将指标导出到 ClickHouse。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。