Repolode
firecracker-microvm

firecracker-microvm/firecracker

基于 KVM 的极简虚拟机监控器,用于运行轻量级 microVM,支持安全的多租户 serverless 与容器工作负载。

Star
37,592
Fork
2,703
未关闭 Issue
133
最近提交
20小时前

这是什么?

Firecracker 是一个虚拟化技术,用于在称为 microVM 的轻量级虚拟机中运行容器和函数类工作负载。其核心是一个基于 Linux KVM 创建和运行 microVM 的虚拟机监控器(VMM)。设计上刻意去掉了不必要的设备和面向客户机的功能,从而降低每个 microVM 的内存占用和攻击面,并缩短启动时间。

每个进程启动后暴露一个 API 端点,接口以 OpenAPI 格式定义,可配置 vCPU、内存、CPU 模板、网络接口、带限速器的块设备、vsock、熵设备、pmem 以及内存热插拔等。它也已被 Kata Containers、Flintlock 等容器运行时集成。项目由 AWS 开发,用于支撑 Lambda、Fargate 等服务,采用 Apache 2.0 许可证。

要安全地运行它,依赖于正确配置的 Linux 宿主机;项目提供了生产环境宿主机配置指南,以及在降权前应用 cgroup 和命名空间隔离的 jailer 进程。

核心功能

  • 01基于 Linux KVM 运行 microVM,设备集合精简。
  • 02可通过 API 配置 vCPU、内存、CPU 模板以及块设备和网络设备。
  • 03提供线程级 seccomp 过滤器,以及用于 cgroup 与命名空间隔离的 jailer 进程。
  • 04支持 virtio 设备限速、vsock、熵设备、pmem 和内存热插拔。
  • 05已被 Kata Containers、Flintlock 等容器运行时集成。

适用场景

  • 在多租户宿主机上,将不可信的函数或容器工作负载运行在隔离的 microVM 中。
  • 为需要快速启动 microVM 的 serverless 平台构建后端。
  • 作为 Kata Containers 等容器运行时底层的虚拟机层。
  • 在支持 KVM 的 Linux 宿主机上测试或原型验证基于虚拟机的隔离方案。

快速上手

  1. 1

    克隆代码仓库

    git clone https://github.com/firecracker-microvm/firecracker
  2. 2

    进入项目目录

    cd firecracker
  3. 3

    使用开发容器构建 Firecracker(需要 Docker 和 bash)

    tools/devtool build

使用前须知

  • 需要支持 KVM 的 Linux 主机,并且要正确配置主机操作系统才能安全地用于多租户场景。
  • aarch64 上的 pl031 RTC 设备不支持中断,因此 hwclock 等使用 RTC 闹钟的程序无法工作。

标签

常见问题

firecracker 是什么?
基于 KVM 的极简虚拟机监控器,用于运行轻量级 microVM,支持安全的多租户 serverless 与容器工作负载。 Firecracker 是一个虚拟化技术,用于在称为 microVM 的轻量级虚拟机中运行容器和函数类工作负载。其核心是一个基于 Linux KVM 创建和运行 microVM 的虚拟机监控器(VMM)。设计上刻意去掉了不必要的设备和面向客户机的功能,从而降低每个 microVM 的内存占用和攻击面,并缩短启动时间。
firecracker 可以免费使用吗?用的什么许可证?
firecracker 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
firecracker 还在维护吗?
活跃维护中。firecracker 最近一次提交是在 2026年10月24日。
firecracker 适合用来做什么?
在多租户宿主机上,将不可信的函数或容器工作负载运行在隔离的 microVM 中。 为需要快速启动 microVM 的 serverless 平台构建后端。 作为 Kata Containers 等容器运行时底层的虚拟机层。 在支持 KVM 的 Linux 宿主机上测试或原型验证基于虚拟机的隔离方案。
firecracker 怎么安装和运行?
克隆代码仓库: git clone https://github.com/firecracker-microvm/firecracker 进入项目目录: cd firecracker 使用开发容器构建 Firecracker(需要 Docker 和 bash): tools/devtool build
在哪里获取 firecracker?
源代码和安装说明在 GitHub 上:https://github.com/firecracker-microvm/firecracker

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目