Решение для безопасного 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 ↗
