我们的任务是启用容器和功能工作负载的安全,多租户,最小化的执行。
在此处阅读有关Firecracker宪章的更多信息。
FireCracker是一种开源虚拟化技术,是为创建和管理提供无服务器操作模型的安全,多租户和基于功能的服务的专门构建的。 FiRecracker在轻巧的虚拟机中运行工作负载,称为MicroVM,将硬件虚拟化技术提供的安全性和隔离属性与容器的速度和灵活性相结合。
FiRecracker的主要组件是使用Linux内核虚拟机(KVM)创建和运行Microvms的虚拟机监视器(VMM)。鞭炮的设计极简。它不包括不必要的设备和面向客人的功能,以减少每个微VM的内存足迹和攻击表面积。这可以提高安全性,减少启动时间并增加硬件利用率。鞭炮也已集成到容器运行时,例如Kata容器和Flintlock。
FireCracker是在Amazon Web Services开发的,以加快AWS Lambda和AWS Fargate等服务的速度和效率。 Firecracker在Apache 2.0版中开源。
要了解有关鞭炮的更多信息,请查看Firecracker-Microvm.io。
要开始使用FireCracker,请下载最新版本的二进制文件或从源头构建。
您可以在任何具有Docker运行的Unix/Linux系统(我们使用开发容器)并安装bash
上构建鞭炮,如下所示:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain= " $( uname -m ) -unknown-linux-musl "
鞭炮二进制将放置在build/cargo_target/${toolchain}/debug/firecracker
。有关构建,测试和运行鞭炮的更多信息,请访问《快速启动指南》。
Firecracker Microvms的总体安全性,包括满足安全多租户计算标准的能力,取决于配置良好的Linux主机操作系统。我们认为符合此栏的配置包含在生产主机设置文档中。
FireCracker已经在AWS内运行生产工作负载,但是在我们任务的指导下,这仍然是第一天。还有更多的建设,我们欢迎所有贡献。
为了为鞭炮做出贡献,请查看“入门指南”中的开发设置部分,然后查看Firecracker贡献指南。
新的鞭炮版本通过GITHUB存储库版本发布,通常每两个或三个月发布。变化的历史记录在我们的Changelog中。
此处详细介绍了Firecracker发布策略。
设计文档中描述了Firecracker的整体体系结构。
FireCracker由一个单个微虚拟机管理器进程组成,该过程将API端点暴露于主机后。 API以OpenAPI格式指定。在API文档中阅读有关它的更多信息。
API端点可用于:
[BETA]
配置面向客座元数据服务的数据树。该服务仅在配置此资源时才可供来宾使用。内置功能:
我们测试所有组合:
实例 | 主持人OS和内核 | 来宾rootfs | 来宾内核 |
---|---|---|---|
c5n。金属 | Al2 Linux_5.10 | Ubuntu 24.04 | Linux_5.10 |
m5n.metal | AL2023 Linux_6.1 | Linux_6.1 | |
M6i.Metal | |||
m6a.Metal | |||
M6G | |||
M7G |
pl031
RTC设备不支持中断,因此使用RTC警报(例如hwclock
)的来宾程序将无效。 鞭炮的性能特征被列为规范文档的一部分。所有规格都是我们致力于在无服务器操作模型中支持容器和功能工作负载的承诺的一部分,因此可以通过连续集成测试执行。
鞭炮的安全是我们的重中之重。如果您怀疑自己已经发现了一个漏洞,请按照我们的安全政策文件中概述的方式私下联系我们;我们将立即确定您的披露。
常见问题是在我们的常见问题文档中收集的。
您可以通过以下方式与Firecracker社区取得联系:
在鞭炮社区中进行交流时,请注意我们的行为准则。