Repolode
Katakate

Katakate/k7

Самостоятельно развёртываемая инфраструктура на Kubernetes запускает недоверенный код в лёгких VM-песочницах под управлением CLI, HTTP API и Python SDK.

Open source альтернатива:AWS Fargate

Звёзды
821
Форки
26
Открытые issues
7
Последний коммит
20 часов назад

Что это?

k7 — самостоятельная система для создания, управления и оркестрации лёгких песочниц на виртуальных машинах, в которых выполняется недоверенный код. Она работает на Kubernetes и использует Kata Containers, чтобы запускать каждую песочницу внутри VM; в качестве бэкендов доступны Firecracker, QEMU и собственная микровиртуальная машина k7d. Изначально проект создавался главным образом для AI-агентов, которым нужно выполнять произвольный код в больших масштабах.

Систему устанавливают на узлы Ubuntu с помощью инсталлятора на базе Ansible, а бэкенд выбирают во время установки. Песочницы создаются из YAML-конфигурации или через Python SDK. В них можно выполнять команды, приостанавливать и возобновлять их, создавать снимки и форки. Бэкенд k7d поддерживает тёплое создание форков с копированием состояния диска и памяти, а вариант с QEMU использует Longhorn для реплицируемых постоянных дисков. Сборку и запуск Docker можно выполнять внутри песочницы с флагом --docker.

По умолчанию песочницы изолированы от сети. Трафик между ними блокируется, если его явно не разрешить, а исходящие соединения можно ограничить CIDR-подсетями или, при использовании Cilium, доменными именами. Доступ контролируется с помощью API-ключей с ролями, а также опциональными тенантами и квотами. Проект находится в бета-версии; по словам сопровождающих, его безопасность ещё проходит проверку.

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

  • 01Создаёт изолированные на уровне VM песочницы в Kubernetes с помощью Kata и Firecracker, QEMU или среды выполнения k7d.
  • 02Предоставляет CLI, HTTP API и синхронный/асинхронный Python SDK для управления песочницами.
  • 03Поддерживает приостановку и возобновление песочниц, создание снимков и форков; бэкенд k7d позволяет создавать тёплые форки с копированием памяти и диска.
  • 04По умолчанию блокирует трафик между песочницами и позволяет задавать для каждой песочницы списки разрешённых исходящих соединений, в том числе по доменным именам через Cilium.
  • 05Позволяет собирать и запускать Docker внутри песочниц с помощью параметра --docker.
  • 06Поддерживает API-ключи с ролями, тенантами и квотами для многопользовательского доступа.

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

  • Запуск кода, сгенерированного AI-агентами, в изолированных средах.
  • Создание собственной бессерверной платформы для выполнения кода на своих серверах.
  • Запуск заданий CI/CD, собирающих контейнеры без Docker-in-Docker на хосте.
  • Создание форков подготовленного состояния песочницы для параллельного выполнения множества экспериментов.

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

  1. 1

    Добавьте PPA k7

    sudo add-apt-repository ppa:katakate.org/k7
  2. 2

    Установите CLI k7

    sudo apt install k7
  3. 3

    Установите Ansible для установщика

    sudo apt install -y ansible
  4. 4

    Установите k7 на узел, указав backend и режим API

    k7 install --backend kfd,kql,k7d --api-mode development

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

  • k7 находится в бета-версии и проходит проверку безопасности, поэтому будьте осторожны при использовании с особо чувствительными рабочими нагрузками.
  • Требуется хост Ubuntu с аппаратной виртуализацией (KVM), которую не предоставляют многие облачные тарифы VPS.
  • Backend k7d поддерживает только amd64/x86_64, а пакет .deb предназначен только для Linux.
  • Backend kfd требуется свободный raw-диск для thin-pool.

Темы

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

Что такое k7?
Самостоятельно развёртываемая инфраструктура на Kubernetes запускает недоверенный код в лёгких VM-песочницах под управлением CLI, HTTP API и Python SDK. k7 — самостоятельная система для создания, управления и оркестрации лёгких песочниц на виртуальных машинах, в которых выполняется недоверенный код. Она работает на Kubernetes и использует Kata Containers, чтобы запускать каждую песочницу внутри VM; в качестве бэкендов доступны Firecracker, QEMU и собственная микровиртуальная машина k7d. Изначально проект создавался главным образом для AI-агентов, которым нужно выполнять произвольный код в больших масштабах.
k7 можно использовать бесплатно? Какая у него лицензия?
k7 распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
k7 всё ещё поддерживается?
Активно поддерживается. Последний коммит в k7 — 18 окт. 2026 г..
Для чего можно использовать k7?
Запуск кода, сгенерированного AI-агентами, в изолированных средах. Создание собственной бессерверной платформы для выполнения кода на своих серверах. Запуск заданий CI/CD, собирающих контейнеры без Docker-in-Docker на хосте. Создание форков подготовленного состояния песочницы для параллельного выполнения множества экспериментов.
Как установить k7?
Добавьте PPA k7: sudo add-apt-repository ppa:katakate.org/k7 Установите CLI k7: sudo apt install k7 Установите Ansible для установщика: sudo apt install -y ansible Установите k7 на узел, указав backend и режим API: k7 install --backend kfd,kql,k7d --api-mode development
Где скачать k7?
Исходный код и инструкции по установке — на GitHub: https://github.com/Katakate/k7

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

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