Repolode
Katakate

Katakate/k7

自托管的基于 Kubernetes 的平台,用轻量虚拟机沙箱安全执行不可信代码,提供 CLI、API 与 Python SDK。

可替代:AWS Fargate

Star
821
Fork
26
未关闭 Issue
7
最近提交
昨天

这是什么?

k7 是一个自托管系统,用于创建、管理和编排执行不可信代码的轻量虚拟机沙箱。它运行在 Kubernetes 之上,通过 Kata Containers 将每个沙箱封装为虚拟机,后端可选 Firecracker、QEMU,以及项目自研的 k7d 微虚拟机运行时。项目最初面向需要大规模运行任意代码的 AI Agent。

用户在 Ubuntu 节点上通过基于 Ansible 的安装器部署,并在安装时选择后端。沙箱可以通过 YAML 配置或 Python SDK 创建,支持在其中执行命令、暂停、恢复、快照和分支(fork)。k7d 后端支持同时复制磁盘与内存状态的热分支,QEMU 路径则借助 Longhorn 提供可复制的持久化磁盘。通过 --docker 参数,还可以在沙箱内构建和运行 Docker 容器。

沙箱默认与网络隔离:沙箱之间的流量默认被阻断,出站访问可限制为指定 CIDR,使用 Cilium 时还可按域名限制。访问通过带角色的 API Key 控制,并支持租户与配额。项目目前处于 beta 阶段,维护者表示仍在进行安全审查。

核心功能

  • 01基于 Kubernetes,通过 Kata 结合 Firecracker、QEMU 或 k7d 运行时创建虚拟机隔离的沙箱。
  • 02提供 CLI、HTTP API 以及同步/异步 Python SDK 来管理沙箱。
  • 03支持沙箱的暂停、恢复、快照和分支,k7d 后端可实现内存与磁盘一并复制的热分支。
  • 04默认阻断沙箱之间的通信,并支持按沙箱设置出站白名单,使用 Cilium 时可按域名配置。
  • 05通过 --docker 选项在沙箱内执行 Docker 构建与运行。
  • 06提供带角色的 API Key、租户和配额,支持多用户访问。

适用场景

  • 在隔离环境中运行 AI Agent 生成的代码。
  • 在自有服务器上搭建自托管的无服务器执行平台。
  • 运行需要构建容器的 CI/CD 任务,避免在宿主机上使用 Docker-in-Docker。
  • 基于同一份已准备好的沙箱状态分叉出多个分支,并行进行实验。

快速上手

  1. 1

    添加 k7 PPA 软件源

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

    安装 k7 命令行工具

    sudo apt install k7
  3. 3

    为安装程序安装 Ansible

    sudo apt install -y ansible
  4. 4

    在节点上使用指定后端和 API 模式安装 k7

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

使用前须知

  • k7 目前处于测试阶段(beta)且仍在安全审查中,用于高度敏感的工作负载时需谨慎。
  • 需要支持硬件虚拟化(KVM)的 Ubuntu 主机,许多云 VPS 不提供该功能。
  • k7d 后端仅支持 amd64/x86_64,.deb 包仅适用于 Linux。
  • kfd 后端需要一块额外的未格式化裸磁盘用于精简池(thin-pool)。

标签

常见问题

k7 是什么?
自托管的基于 Kubernetes 的平台,用轻量虚拟机沙箱安全执行不可信代码,提供 CLI、API 与 Python SDK。 k7 是一个自托管系统,用于创建、管理和编排执行不可信代码的轻量虚拟机沙箱。它运行在 Kubernetes 之上,通过 Kata Containers 将每个沙箱封装为虚拟机,后端可选 Firecracker、QEMU,以及项目自研的 k7d 微虚拟机运行时。项目最初面向需要大规模运行任意代码的 AI Agent。
k7 可以免费使用吗?用的什么许可证?
k7 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
k7 还在维护吗?
活跃维护中。k7 最近一次提交是在 2026年10月18日。
k7 适合用来做什么?
在隔离环境中运行 AI Agent 生成的代码。 在自有服务器上搭建自托管的无服务器执行平台。 运行需要构建容器的 CI/CD 任务,避免在宿主机上使用 Docker-in-Docker。 基于同一份已准备好的沙箱状态分叉出多个分支,并行进行实验。
k7 怎么安装和运行?
添加 k7 PPA 软件源: sudo add-apt-repository ppa:katakate.org/k7 安装 k7 命令行工具: sudo apt install k7 为安装程序安装 Ansible: sudo apt install -y ansible 在节点上使用指定后端和 API 模式安装 k7: k7 install --backend kfd,kql,k7d --api-mode development
在哪里获取 k7?
源代码和安装说明在 GitHub 上:https://github.com/Katakate/k7

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目