Инструменты8 октября 2026 г., 21:45 МСК🤖 Auto

K7: Open-source песочницы на базе KVM с форком VM за 5 мс

Проект Katakate K7 предлагает самохостинговую платформу для запуска ненадежного кода в изолированных виртуальных машинах. Ключевая фишка — микровторжение памяти (CoW fork) за 5 мс и интеграция с Kubernetes.

Баннер новости 9232

Решение для безопасного AI-Compute и Serverless

K7 — это open-source проект (лицензия Apache-2.0), созданный для оркестрации легковесных виртуальных машин-песочниц. Изначально инструмент разработан для AI-агентов, которым требуется запускать произвольный код в масштабе, но сфера применения шире: кастомный serverless (аналог AWS Fargate), защищенные CI/CD раннеры без рисков Docker-in-Docker и блокчейн-исполнение для AI dApps.

Архитектура строится на базе Kubernetes (включая K3s для edge-вычислений) и использует проверенные технологии изоляции: Kata Containers, Firecracker, QEMU и Longhorn. Уникальность K7 заключается в собственном рантайме k7d, который обеспечивает микровторжение виртуальных машин на уровне VMM.

Сравнение бэкендов: скорость и ресурсы

Проект поддерживает четыре режима работы (бэкенда), каждый из которых оптимизирован под разные задачи. Бенчмарки проводились на узле Hetzner AX41. Ниже приведены ключевые метрики производительности:

Характеристика kfd (Firecracker) kql (QEMU + Longhorn) k7d (KVM) k7d-fc (KVM + Jailer)
Создание → Ready — (не измерено) 17.1 с 2.1 с 2.1 с
Вторжение (Fork) Отклонено 46.7 с (клон диска) ~5 мс (CoW) ~2.4 с (end-to-end)
Пауза / Возобновление — 1.3 с / 4.1 с 0.2 с / 0.3 с 0.2 с / —
Хранение данных Devmapper thin-pool Longhorn PVC erofs + XFS reflink Как k7d

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

  • Warm VM Fork: В режиме k7d система клонирует диск и память работающей песочницы за ~5 мс на уровне VMM. Полный цикл через Kubernetes занимает около 2 секунд до состояния Ready.
  • Поддержка Docker внутри VM: Флаг --docker позволяет запускать dockerd внутри гостевой ОС. В режиме k7d образы Docker становятся форкаемыми, что критично для масштабируемости.
  • Снэпшоты и миграция: Поддерживаются именованные снэпшоты, восстановление и форки только дисков. Longhorn обеспечивает репликацию PVC-дисков между узлами.
  • Наблюдаемость: Интеграция с Cilium CNI и опциональная observability через Hubble (включается флагом --hubble).

Требования и статус релиза

Текущая версия — 0.4.0 (beta). Проект требует наличия аппаратной виртуализации (KVM). Поддержка архитектур: amd64 (полная поддержка всех бэкендов) и arm64 (поддержка kfd и kql, но не k7d).

Для развертывания требуется Ubuntu (amd64/arm64) и Ansible. На облачных провайдерах (AWS, GCP, Azure) необходимо использовать instances с поддержкой nested virtualization или bare-metal (например, AWS .metal, Hetzner Robot). Проект находится в стадии бета-тестирования и безопасности, поэтому для высоконагруженных чувствительных нагрузок рекомендуется осторожность.

Источник: Github ↗