@berthos / adapter-k8s
在您自己的Kubernetes集群上部署一个泊位沙箱,每个实例一个Pod,使用 berth deploy --fleet=k8s.
泊位 在沙盒中运行人工智能代理的工具。每个工具在类中声明它可以接触什么 berth.yml manifest, Linux内核强制执行它。
在Kubernetes客户端旁边安装它 @berthos/cli (添加 -g 如果CLI是全局的):
npm install @berthos/adapter-k8s @kubernetes/client-node
使用
从应用程序的目录:
berth deploy --fleet=k8s
berth deploy --fleet=k8s --count=3 --region=us-east-1
berth fleet status k8s
适配器使用默认的kubecconfig (KUBECONFIG 或者 ~/.kube/config),并部署到 BERTH_K8S_NAMESPACE (默认 default)。 --region 成为一个 topology.kubernetes.io/region 节点选择器。
限制
- 它不会推动图像。将其推送到集群可以从中提取的注册表(或
kind load docker-image 类)。
- 豆荚需要
SYS_ADMIN这是豆荚安全许可 restricted 拒绝。
- 只有当节点的内核具有Landlock (Linux 6.7+)时才强制执行功能。
env 的值 ~/.berthrc 别名出现在Pod规范中,而不是在Kubernetes中 Secret.
文档
Kubernetes适配器参考 · 回购
关于 @berthos/adapter-k8s 的常见问题
@berthos/adapter-k8s 是什么?
针对Kubernetes集群的DeployAdapter实现
如何安装 @berthos/adapter-k8s?
在项目目录运行 npm install @berthos/adapter-k8s,或使用 pnpm add / yarn add / bun add。
@berthos/adapter-k8s 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@berthos/adapter-k8s 支持 ESM 还是 CommonJS?
以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。
@berthos/adapter-k8s 需要什么版本的 Node.js?
package.json 的 engines 字段要求 Node.js >=22.19。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。
@berthos/adapter-k8s 可以商用吗?
@berthos/adapter-k8s 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。
@berthos/adapter-k8s 还在维护吗?
最新版本 0.3.1 发布于 2026/10/31(2 天前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/09/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。