Наша миссия состоит в том, чтобы обеспечить безопасное, многопользовательское, минимальное выполнение рабочих нагрузок контейнеров и функций.
Узнайте больше о хартии Firecracker здесь.
Firecracker-это технология виртуализации с открытым исходным кодом, которая специально разработана для создания и управления безопасными, мультитенантными контейнерами и функциональными услугами, которые предоставляют без серверов эксплуатационные модели. Firecracker запускает рабочие нагрузки в легких виртуальных машинах, называемых MicroVM, которые объединяют свойства безопасности и изоляции, обеспечиваемые технологией оборудования виртуализации с скоростью и гибкостью контейнеров.
Основным компонентом Firecracker является монитор виртуального машины (VMM), который использует виртуальную машину Linux ядра (KVM) для создания и запуска MicroVM. Firecracker имеет минималистский дизайн. Он исключает ненужные устройства и функциональность, обращенные к гостям, чтобы уменьшить площадь памяти и площадь поверхности атаки каждого микроворса. Это улучшает безопасность, сокращает время запуска и увеличивает использование оборудования. Firecracker также был интегрирован в контейнеры, например, контейнеры Kata и Flintlock.
Firecracker был разработан в Amazon Web Services для ускорения скорости и эффективности таких услуг, как AWS Lambda и AWS Fargate. Firecracker открыт в рамках Apache версии 2.0.
Чтобы узнать больше о Firecracker, посетите Firecracker-Microvm.io.
Чтобы начать работу с Firecracker, загрузите последние бинарные файлы выпуска или создайте его из Source.
Вы можете построить Firecracker в любой системе Unix/Linux, в которой работает Docker (мы используем контейнер для разработки) и установлен bash
, следующим образом:
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, перейдите в руководство QuickStart.
Общая безопасность Firecracker Microvms, включая возможность соответствовать критериям безопасных мультитенантных вычислений, зависит от хорошо настроенной операционной системы хоста Linux. Конфигурация, которая, по нашему мнению, соответствует этой панели, включена в документ «Настройка производственного хоста».
Firecracker уже управляет производственными рабочими нагрузками в AWS, но это все еще 1 день в путешествии, руководствуясь нашей миссией. Есть гораздо больше, чтобы построить, и мы приветствуем все вклад.
Чтобы внести свой вклад в Firecracker, ознакомьтесь с разделом настройки разработки в руководстве по началу работы, а затем руководящими принципами вклада Firecracker.
Новые версии Firecracker выпускаются через страницу репозиторий GitHub, обычно каждые два или три месяца. История изменений записана в нашем изменении.
Политика выпуска Firecracker подробно описана здесь.
Общая архитектура Firecracker описана в проектном документе.
Firecracker состоит из одного процесса Micro Virtual Machine Manager, который разоблачает конечную точку API хосту после начала. API указан в формате OpenAPI. Узнайте больше об этом в документах API.
Конечная точка API может быть использована для:
[BETA]
Настройте дерево данных службы метаданных, обращенных к гостям. Служба доступна для гостя только в том случае, если этот ресурс настроен.Встроенные возможности :
Мы проверяем все комбинации:
Пример | Хост ОС и ядра | Гостевые корни | Гостевая ядра |
---|---|---|---|
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
на AARCH64 не поддерживает прерывания, поэтому гостевые программы, которые используют тревогу RTC (например, hwclock
), не будут работать. Характеристики производительности Firecracker перечислены как часть документации по спецификации. Все спецификации являются частью нашей приверженности поддержке рабочих нагрузок контейнеров и функций в без серверных эксплуатационных моделей и, следовательно, применяются посредством непрерывного интеграционного тестирования.
Безопасность Firecracker является нашим главным приоритетом. Если вы подозреваете, что обнаружили уязвимость, свяжитесь с нами в частном порядке, как указано в нашем документе политики безопасности; Мы немедленно расстанемся с вашим раскрытием.
Часто задаваемые вопросы собираются в нашем документе FAQ.
Вы можете связаться с сообществом фейерверков следующими способами:
При общении в сообществе Firecracker, пожалуйста, обращайтесь на наш кодекс поведения.