firecracker

firecracker

开源虚拟化技术实现安全高效的多租户容器和函数服务

Firecracker是一种开源虚拟化技术,用于创建和管理安全、多租户的容器和函数服务。它通过轻量级虚拟机(microVM)运行工作负载,结合硬件虚拟化的安全性和容器的灵活性。Firecracker采用最小化设计,降低内存占用和攻击面,同时提高启动速度和硬件利用率。该技术已应用于AWS Lambda和AWS Fargate等服务,并可与多种容器运行时集成。

Firecracker虚拟化技术微型虚拟机容器开源Github开源项目
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/fc_logo_full_transparent-bg_white-fg.png"> <source media="(prefers-color-scheme: light)" srcset="docs/images/fc_logo_full_transparent-bg.png"> <img alt="Firecracker 标志标题" width="750" src="https://yellow-cdn.veclightyear.com/835a84d5/c81a0355-57ad-4659-a5bb-9fe5bf51a4ca.png"> </picture>

我们的使命是实现安全、多租户、低开销的容器和函数工作负载执行。

这里阅读更多关于 Firecracker 章程的信息。

Firecracker 是什么?

Firecracker 是一个开源虚拟化技术,专为创建和管理安全、多租户的容器和基于函数的服务而设计,这些服务提供无服务器运营模式。Firecracker 在轻量级虚拟机(称为 microVM)中运行工作负载,结合了硬件虚拟化技术提供的安全性和隔离性,以及容器的速度和灵活性。

概述

Firecracker 的主要组件是一个虚拟机监视器(VMM),它使用 Linux 内核虚拟机(KVM)来创建和运行 microVM。Firecracker 采用极简设计,排除了不必要的设备和面向客户的功能,以减少每个 microVM 的内存占用和攻击面。这提高了安全性,缩短了启动时间,并提高了硬件利用率。Firecracker 还已集成到容器运行时中,例如 Kata ContainersFlintlock

Firecracker 由亚马逊网络服务开发,旨在加快 AWS LambdaAWS Fargate 等服务的速度和效率。Firecracker 根据 Apache 2.0 版本 开源。

要了解更多关于 Firecracker 的信息,请查看 firecracker-microvm.io

入门

要开始使用 Firecracker,请下载最新的发布版本二进制文件或从源代码构建。

你可以在任何运行 Docker(我们使用开发容器)并安装了 bash 的 Unix/Linux 系统上构建 Firecracker,如下所示:

git clone https://github.com/firecracker-microvm/firecracker cd firecracker tools/devtool build toolchain="$(uname -m)-unknown-linux-musl"

Firecracker 二进制文件将位于 build/cargo_target/${toolchain}/debug/firecracker。有关构建、测试和运行 Firecracker 的更多信息,请查看快速入门指南

Firecracker microVM 的整体安全性,包括满足安全多租户计算标准的能力,取决于配置良好的 Linux 主机操作系统。我们认为满足这一标准的配置包含在生产主机设置文档中。

贡献

Firecracker 已经在 AWS 内部运行生产工作负载,但在我们使命指引的旅程中,这仍然只是第一天。还有很多要构建的,我们欢迎所有的贡献。

要为 Firecracker 做出贡献,请查看入门指南中的开发设置部分,然后查看 Firecracker 贡献指南

发布

新的 Firecracker 版本通过 GitHub 仓库的发布页面发布,通常每两到三个月一次。变更历史记录在我们的更新日志中。

Firecracker 的发布政策详见此处

设计

Firecracker 的整体架构在设计文档中有描述。

特性与功能

Firecracker 由一个单一的微型虚拟机管理器进程组成,启动后向主机公开 API 端点。API 以 OpenAPI 格式指定。在 API 文档中了解更多信息。

API 端点可用于:

  • 通过以下方式配置 microvm:
    • 设置 vCPU 数量(默认为 1)。
    • 设置内存大小(默认为 128 MiB)。
    • 配置 CPU 模板
  • 向 microVM 添加一个或多个网络接口。
  • 向 microVM 添加一个或多个读写或只读磁盘,每个磁盘由文件支持的块设备表示。
  • 在客户机运行时触发块设备重新扫描。这使客户操作系统能够获取块设备后备文件的大小变化。
  • 在客户机启动前后更改块设备的后备文件。
  • 为 virtio 设备配置速率限制器,可以限制带宽、每秒操作数或两者兼有。
  • 配置日志和指标系统。
  • [测试版] 配置面向客户的元数据服务的数据树。只有在配置此资源时,服务才对客户可用。
  • 向 microVM 添加 vsock 套接字
  • 向 microVM 添加熵设备
  • 使用给定的内核镜像、根文件系统和启动参数启动 microVM。
  • [仅限 x86_64] 停止 microVM。

内置功能

  • 默认启用按需页面错误和 CPU 超额订阅。
  • 高级的、线程特定的 seccomp 过滤器,以增强安全性。
  • Jailer 进程用于在生产场景中启动 Firecracker;应用 cgroup/namespace 隔离屏障,然后放弃特权。

测试平台

我们测试以下所有组合:

实例主机操作系统和内核客户根文件系统客户内核
c5n.metalal2 linux_5.10ubuntu 22.04linux_4.14
m5n.metalal2023 linux_6.1linux_5.10
m6i.metal
m6a.metal
m6g.metal
m7g.metal

已知问题和限制

  • aarch64 上的 pl031 RTC 设备不支持中断,因此使用 RTC 闹钟的客户程序(如 hwclock)将无法工作。

性能

Firecracker 的性能特征作为规范文档的一部分列出。所有规范都是我们支持无服务器运营模式下的容器和函数工作负载的承诺的一部分,因此通过持续集成测试强制执行。

安全披露政策

Firecracker 的安全性是我们的首要任务。如果你怀疑发现了漏洞,请按照我们的安全政策文档中概述的方式私下联系我们;我们将立即优先处理你的披露。

常见问题解答和联系方式

常见问题解答收集在我们的 FAQ 文档中。

你可以通过以下方式与 Firecracker 社区联系:

在 Firecracker 社区内沟通时,请遵守我们的行为准则

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多