Repolode
firecracker-microvm

firecracker-microvm/firecracker

Минималистичный монитор виртуальных машин на базе KVM для запуска лёгких microVM под безопасные serverless- и контейнерные нагрузки в многопользовательской среде.

Звёзды
37,582
Форки
2,702
Открытые issues
133
Последний коммит
19 часов назад

Что это?

Firecracker — технология виртуализации для запуска контейнеров и функций в лёгких виртуальных машинах, называемых microVM. В её основе лежит монитор виртуальных машин, который использует Linux KVM для создания и запуска microVM. Архитектура намеренно исключает ненужные устройства и функции, доступные гостевой системе: это уменьшает объём памяти, необходимый каждой microVM, сокращает поверхность атаки и ускоряет запуск.

Firecracker предоставляет для каждого процесса одну конечную точку API, описанную в формате OpenAPI. Через неё можно настраивать vCPU, память, шаблоны CPU, сетевые интерфейсы, блочные устройства с ограничителями скорости, vsock, энтропию, pmem и горячее подключение памяти. Firecracker также используется как бэкенд в средах выполнения контейнеров, например Kata Containers и Flintlock. Проект разработан в AWS для таких сервисов, как Lambda и Fargate, и распространяется по лицензии Apache 2.0.

Безопасная работа Firecracker зависит от правильной настройки хоста Linux. В проекте есть руководство по настройке хоста для production и процесс jailer, который применяет изоляцию с помощью cgroup и пространств имён, прежде чем сбросить привилегии.

Ключевые возможности

  • 01Запускает нагрузки в microVM с помощью Linux KVM и минимального набора устройств.
  • 02Позволяет через API настраивать vCPU, память, шаблоны CPU, а также блочные и сетевые устройства.
  • 03Использует фильтры seccomp для каждого процесса и jailer для изоляции с помощью cgroup и пространств имён.
  • 04Поддерживает ограничители скорости для устройств virtio, vsock, энтропию, pmem и горячее подключение памяти.
  • 05Интегрируется со средами выполнения контейнеров, например Kata Containers и Flintlock.

Сценарии использования

  • Запуск недоверенных функций или контейнерных нагрузок в изолированных microVM на многопользовательском хосте.
  • Создание серверной части serverless-платформы, которой требуется быстрый запуск microVM.
  • Использование Firecracker в качестве уровня виртуальных машин под средой выполнения контейнеров, например Kata Containers.
  • Тестирование или прототипирование изоляции на основе виртуальных машин на хостах Linux с поддержкой KVM.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/firecracker-microvm/firecracker
  2. 2

    Перейдите в каталог проекта

    cd firecracker
  3. 3

    Соберите Firecracker в контейнере для разработки (требуются Docker и bash)

    tools/devtool build

Что важно знать

  • Для безопасного использования в режиме мультиарендности требуется хост Linux с поддержкой KVM и правильно настроенная хостовая ОС.
  • Устройство RTC pl031 в aarch64 не поддерживает прерывания, поэтому RTC-будильники, например hwclock, не работают.

Темы

Частые вопросы

Что такое firecracker?
Минималистичный монитор виртуальных машин на базе KVM для запуска лёгких microVM под безопасные serverless- и контейнерные нагрузки в многопользовательской среде. Firecracker — технология виртуализации для запуска контейнеров и функций в лёгких виртуальных машинах, называемых microVM. В её основе лежит монитор виртуальных машин, который использует Linux KVM для создания и запуска microVM. Архитектура намеренно исключает ненужные устройства и функции, доступные гостевой системе: это уменьшает объём памяти, необходимый каждой microVM, сокращает поверхность атаки и ускоряет запуск.
firecracker можно использовать бесплатно? Какая у него лицензия?
firecracker распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
firecracker всё ещё поддерживается?
Активно поддерживается. Последний коммит в firecracker — 24 окт. 2026 г..
Для чего можно использовать firecracker?
Запуск недоверенных функций или контейнерных нагрузок в изолированных microVM на многопользовательском хосте. Создание серверной части serverless-платформы, которой требуется быстрый запуск microVM. Использование Firecracker в качестве уровня виртуальных машин под средой выполнения контейнеров, например Kata Containers. Тестирование или прототипирование изоляции на основе виртуальных машин на хостах Linux с поддержкой KVM.
Как установить firecracker?
Клонируйте репозиторий: git clone https://github.com/firecracker-microvm/firecracker Перейдите в каталог проекта: cd firecracker Соберите Firecracker в контейнере для разработки (требуются Docker и bash): tools/devtool build
Где скачать firecracker?
Исходный код и инструкции по установке — на GitHub: https://github.com/firecracker-microvm/firecracker

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Сверхлёгкая песочница на микровиртуальных машинах для запуска недоверенных нагрузок с аппаратной изоляцией, созданная на базе OpenVMM и использующая Linux в качестве гостевой ОС.

747+22 за неделю47RustMITОбновлён 24 часа назад

МикроВМ-песочницы с механизмом fork для AI-агентов: дочерние ВМ создаются из прогретой Firecracker-ВМ с копированием при записи, изоляцией через KVM и BRANCH работающих ВМ.

2,9 тыс.225RustApache-2.0Обновлён позавчера