Notre mission est d'activer l'exécution sécurisée, multi-locataires et minimale des charges de travail des conteneurs et des fonctions.
En savoir plus sur la charte Firecracker ici.
FireCracker est une technologie de virtualisation open source qui est spécialement conçue pour créer et gérer des services de conteneur et de fonctions multiples sécurisés qui fournissent des modèles opérationnels sans serveur. FireCracker exécute des charges de travail dans des machines virtuelles légères, appelées microvms, qui combinent les propriétés de sécurité et d'isolement fournies par la technologie de virtualisation matérielle avec la vitesse et la flexibilité des conteneurs.
Le composant principal de FireCracker est un moniteur de machine virtuelle (VMM) qui utilise la machine virtuelle du noyau Linux (KVM) pour créer et exécuter des microvms. Firecracker a un design minimaliste. Il exclut les dispositifs inutiles et les fonctionnalités destinées aux invités pour réduire l'empreinte de la mémoire et attaquer la surface de chaque microvm. Cela améliore la sécurité, diminue le temps de démarrage et augmente l'utilisation du matériel. Firecracker a également été intégré dans les temps de récipient, par exemple les conteneurs Kata et le silex.
Firecracker a été développé sur Amazon Web Services pour accélérer la vitesse et l'efficacité des services comme AWS Lambda et Aws Fargate. Firecracker est ouvert sous APACHE version 2.0.
Pour en savoir plus sur Firecracker, consultez Firecracker-Microvm.io.
Pour commencer avec Firecracker, téléchargez les derniers binaires de version ou construisez-le à partir de la source.
Vous pouvez construire Firecracker sur n'importe quel système UNIX / Linux qui a Docker en cours d'exécution (nous utilisons un conteneur de développement) et bash
installé, comme suit:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain= " $( uname -m ) -unknown-linux-musl "
Le binaire Firecracker sera placé sur build/cargo_target/${toolchain}/debug/firecracker
. Pour plus d'informations sur la construction, les tests et l'exécution de pompiers, rendez-vous au guide QuickStart.
La sécurité globale des microvms de pompiers, y compris la possibilité de répondre aux critères de l'informatique multi-locataire sûre, dépend d'un système d'exploitation hôte Linux bien configuré. Une configuration qui, selon nous, répond à cette barre est incluse dans le document de configuration de l'hôte de production.
Firecracker gère déjà des charges de travail de production dans AWS, mais c'est toujours le jour 1 sur le voyage guidé par notre mission. Il y a beaucoup plus à construire et nous accueillons toutes les contributions.
Pour contribuer à Firecracker, consultez la section de configuration de développement dans le guide de démarrage, puis les directives de contribution de pétrole.
De nouvelles versions de pompiers sont publiées via la page des versions du référentiel GitHub, généralement tous les deux ou trois mois. Une histoire de changements est enregistrée dans notre modique.
La politique de libération de pompier est détaillée ici.
L'architecture globale de Firecracker est décrite dans le document de conception.
FireCracker se compose d'un processus de gestionnaire de machines micro-virtuels unique qui expose un point de terminaison API à l'hôte une fois démarré. L'API est spécifiée au format OpenAPI. En savoir plus à ce sujet dans les documents API.
Le point de terminaison de l'API peut être utilisé pour:
[BETA]
Configurez l'arborescence de données du service de métadonnées orienté invité. Le service n'est disponible que si cette ressource est configurée.Capacités intégrées :
Nous testons toutes les combinaisons de:
Exemple | Hôte OS et noyau | Rootfs invité | Noyau invité |
---|---|---|---|
C5N.Metal | al2 Linux_5.10 | Ubuntu 24.04 | Linux_5.10 |
M5N.Metal | al2023 Linux_6.1 | Linux_6.1 | |
M6i.Metal | |||
M6A.Metal | |||
M6G.Metal | |||
M7G.Metal |
pl031
sur AARCH64 ne prend pas en charge les interruptions, de sorte que les programmes invités qui utilisent une alarme RTC (par exemple hwclock
) ne fonctionneront pas. Les caractéristiques de performance de Firecracker sont répertoriées dans le cadre de la documentation de spécification. Toutes les spécifications font partie de notre engagement à prendre en charge les charges de travail des conteneurs et des fonctions dans des modèles opérationnels sans serveur, et sont donc appliqués via des tests d'intégration continue.
La sécurité de Firecracker est notre priorité absolue. Si vous pensez que vous avez découvert une vulnérabilité, contactez-nous en privé, comme indiqué dans notre document de politique de sécurité; Nous prioriserons immédiatement votre divulgation.
Des questions fréquemment posées sont collectées dans notre DOC FAQ.
Vous pouvez entrer en contact avec la communauté des pompiers de la manière suivante:
Lors de la communication au sein de la communauté des pompiers, veuillez vous occuper de notre code de conduite.