mirrord:让本地进程接入 Kubernetes 集群
把本地进程或 AI 编码代理的运行环境接入线上 K8s 集群,共享真实流量、文件和环境变量。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v3.283.0
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
mirrord 让本地运行的进程表现得像是 Kubernetes 集群里某个 Pod 的一部分:代码仍在你自己的机器上执行,但它的网络流量、文件读写和环境变量都会经过集群中的目标 Pod。
它对开发者和 AI 编码代理(Claude Code、Cursor、Codex、Copilot、Windsurf)的工作方式一致。写代码时可以读取真实的集群上下文(真实环境变量、真实服务响应、真实队列内容),写完再让代码直接对接同样的服务与数据做端到端验证,无需部署即可在数秒内获得接近部署后的反馈,也不会影响集群中其他人的使用。
mirrord 提供 VS Code 扩展、IntelliJ 插件和 CLI 三种形态。
主要功能
- 流量镜像与转发:把目标 Pod 的入站流量镜像到本地进程,同时让本地进程的出站流量经过该 Pod。
- 文件与环境变量:按同样方式读取和写入目标 Pod 的文件、获取其环境变量。
- 多种使用入口:VS Code 扩展、IntelliJ 插件、命令行工具,均使用本机默认的 kubeconfig 访问 Kubernetes API。
- 面向 AI 编码代理:可与 Claude Code、Cursor、Codex CLI、Gemini CLI 等配合,让代理针对真实集群服务运行并验证生成的代码。
- 能力可裁剪:可通过配置关闭部分 Linux capabilities,以适配受限的集群环境。
安装与使用
CLI 安装方式(任选其一):
brew install metalbear-co/mirrord/mirrord
curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash
Windows 可使用 Chocolatey:
choco install --pre mirrord
基本用法:
mirrord exec <process command> --target <target-path>
例如:
mirrord exec node app.js --target pod/my-pod
VS Code 扩展:在扩展市场安装后,点击状态栏的「Enable mirrord」,开始调试项目并选择要模拟的 Pod 即可。
IntelliJ 插件:安装后点击导航栏的 mirrord 图标,开始调试并选择命名空间与 Pod。


工作原理与注意事项
选择要模拟的 Pod 后,mirrord 会在与该 Pod 相同的节点上启动一个新 Pod,用它在本地进程与目标 Pod 之间建立连接,从而镜像入站流量、转发出站流量,并处理文件读写与环境变量。
mirrord 启动的 Pod 中的容器需要以下 Linux capabilities:
CAP_NET_ADMIN:使用 iptables 重定向目标 Pod 的入站流量CAP_SYS_PTRACE:通过/proc访问目标 Pod 的网络命名空间、文件和环境变量CAP_SYS_ADMIN:加入目标 Pod 的网络命名空间
可以通过配置中的 agent.disabled_capabilities 关闭其中任意一项,但可能限制功能,某些环境下甚至无法使用:
{
"agent": {
"disabled_capabilities": ["NET_ADMIN"]
}
}
mirrord exec -f mirrord.json node app.js --target pod/my-pod
项目采用 MIT 许可证。
本作品整理自 GitHub 开源项目 metalbear-co/mirrord,原作者 @metalbear-co,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v3.283.0当前版本
### Added
- v3.282.0
新增实验性 `mirrord up --debug <service>`,可在服务代码运行前挂起等待 IDE 调试器接入;新增 `mirrord up list` 列出 up 文件中的所有服务,支持 JSON 输出;修复上级目录 stat/access 本地解析、工作负载选择器表达式及 operator 返回 503 时长时间无输出等问题。
- v3.281.0
付费功能报错会指出对应配置项和所需套餐;清理 JDK_JAVA_OPTIONS 中的 javaagent 选项;新增 agent HTTP/2 头部大小限制配置,修复占位文件权限、mirrord up 遇到非 UTF-8 输出中断及标签选择器报错等问题。
评论