Zurück zu den Updates
New releaseSep 12, 2026

firecracker v1.17.0

Sichere und schnelle MicroVMs für serverless Computing.

Teilen
Firecracker Logo Title

Unsere Mission ist es, sichere, mandantenfähige Ausführung von Container- und Funktions-Workloads mit minimalem Overhead zu ermöglichen.

Lesen Sie mehr über die Firecracker-Charta hier.

Was ist Firecracker?

Firecracker ist eine Open-Source-Virtualisierungstechnologie, die speziell für die Erstellung und Verwaltung sicherer, mandantenfähiger Container- und funktionsbasierter Dienste entwickelt wurde, die serverlose Betriebsmodelle bereitstellen. Firecracker führt Workloads in leichtgewichtigen virtuellen Maschinen aus, den sogenannten microVMs, die die Sicherheits- und Isolationseigenschaften der Hardware-Virtualisierungstechnologie mit der Geschwindigkeit und Flexibilität von Containern kombinieren.

Überblick

Die Hauptkomponente von Firecracker ist ein Virtual Machine Monitor (VMM), der die Linux Kernel Virtual Machine (KVM) nutzt, um microVMs zu erstellen und auszuführen. Firecracker hat ein minimalistisches Design. Es schließt unnötige Geräte und gastorientierte Funktionalität aus, um den Speicherbedarf und die Angriffsfläche jeder microVM zu reduzieren. Dies verbessert die Sicherheit, verkürzt die Startzeit und erhöht die Hardware-Auslastung. Firecracker wurde auch in Container-Runtimes integriert, zum Beispiel Kata Containers und Flintlock.

Firecracker wurde bei Amazon Web Services entwickelt, um die Geschwindigkeit und Effizienz von Diensten wie AWS Lambda und AWS Fargate zu beschleunigen. Firecracker ist unter Apache Version 2.0 als Open Source lizenziert.

Um mehr über Firecracker zu erfahren, besuchen Sie firecracker-microvm.io.

Erste Schritte

Um mit Firecracker zu beginnen, laden Sie die neuesten Release-Binärdateien herunter oder bauen Sie es aus dem Quellcode.

Sie können Firecracker auf jedem Unix/Linux-System bauen, auf dem Docker läuft (wir verwenden einen Entwicklungscontainer) und bash installiert ist, wie folgt:

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

Die Firecracker-Binärdatei wird unter build/cargo_target/${toolchain}/debug/firecracker abgelegt. Weitere Informationen zum Bauen, Testen und Ausführen von Firecracker finden Sie im Schnellstart-Leitfaden.

Die allgemeine Sicherheit von Firecracker-microVMs, einschließlich der Fähigkeit, die Kriterien für sicheres mandantenfähiges Computing zu erfüllen, hängt von einem gut konfigurierten Linux-Host-Betriebssystem ab. Eine Konfiguration, von der wir glauben, dass sie diese Anforderungen erfüllt, ist im Dokument zur Produktionshost-Einrichtung enthalten.

Mitwirken

Firecracker läuft bereits mit Produktions-Workloads innerhalb von AWS, aber es ist immer noch Tag 1 auf dem Weg, der von unserer Mission geleitet wird. Es gibt noch viel zu bauen, und wir begrüßen alle Beiträge.

Um zu Firecracker beizutragen, lesen Sie den Abschnitt zur Entwicklungsumgebung im Schnellstart-Leitfaden und dann die Beitragsrichtlinien von Firecracker.

Releases

Neue Firecracker-Versionen werden über die Releases-Seite des GitHub-Repositorys veröffentlicht, in der Regel alle zwei oder drei Monate. Eine Historie der Änderungen ist in unserem Changelog dokumentiert.

Die Firecracker-Release-Richtlinie ist hier detailliert beschrieben.

Design

Die Gesamtarchitektur von Firecracker ist im Designdokument beschrieben.

Funktionen & Fähigkeiten

Firecracker besteht aus einem einzigen Micro-Virtual-Machine-Manager-Prozess, der nach dem Start einen API-Endpunkt für den Host bereitstellt. Die API ist im OpenAPI-Format spezifiziert. Lesen Sie mehr darüber in der API-Dokumentation.

Der API-Endpunkt kann verwendet werden, um:

  • Die MicroVM zu konfigurieren, indem:
    • Die Anzahl der vCPUs festgelegt wird (Standard ist 1).
    • Die Speichergröße festgelegt wird (Standard ist 128 MiB).
    • Eine CPU-Vorlage konfiguriert wird.
  • Eine oder mehrere Netzwerkschnittstellen zur MicroVM hinzuzufügen.
  • Eine oder mehrere Lese-Schreib- oder Nur-Lese-Datenträger zur MicroVM hinzuzufügen, die jeweils durch ein dateibasiertes Blockgerät dargestellt werden.
  • Einen Blockgeräte-Rescan auszulösen, während der Gast läuft. Dies ermöglicht dem Gast-Betriebssystem, Größenänderungen der Sicherungsdatei des Blockgeräts zu übernehmen.
  • Die Sicherungsdatei für ein Blockgerät vor oder nach dem Booten des Gasts zu ändern.
  • Ratenbegrenzer für virtio-Geräte zu konfigurieren, die die Bandbreite, die Operationen pro Sekunde oder beides begrenzen können.
  • Das Protokollierungs- und Metriksystem zu konfigurieren.
  • [BETA] Den Datenbaum des gastorientierten Metadaten-Dienstes zu konfigurieren. Der Dienst ist für den Gast nur verfügbar, wenn diese Ressource konfiguriert ist.
  • Einen vsock-Socket zur MicroVM hinzuzufügen.
  • Ein Entropiegerät zur MicroVM hinzuzufügen.
  • Ein pmem-Gerät zur MicroVM hinzuzufügen.
  • Speicher-Hotplugging zu konfigurieren und zu verwalten.
  • [Developer Preview] Hot-Plug und Hot-Unplug von virtio-PCI-Geräten, während die VM läuft.
  • Die MicroVM mit einem bestimmten Kernel-Image, Root-Dateisystem und Boot-Argumenten zu starten.
  • [nur x86_64] Die MicroVM zu stoppen.

Integrierte Fähigkeiten:

  • Demand-Fault-Paging und CPU-Überbuchung standardmäßig aktiviert.
  • Erweiterte, threadspezifische seccomp-Filter für erhöhte Sicherheit.
  • Jailer-Prozess zum Starten von Firecracker in Produktionsszenarien; wendet eine cgroup/Namespace-Isolationsbarriere an und gibt dann Privilegien ab.

Getestete Plattformen

Wir testen alle Kombinationen von:

Kategorien