我們的任務是啟用容器和功能工作負載的安全,多租戶,最小化的執行。
在此處閱讀有關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社區取得聯繫:
在鞭炮社區中進行交流時,請注意我們的行為準則。