Oct 23, 2026

用 mirrord 把本地代码跑进真实的 Kubernetes 集群

5k star 的 metalbear-co/mirrord 让你的本地进程——或者你的 AI agent 的进程——跑进真实的 Kubernetes 集群:获取目标 Pod 的真实环境变量、流量和文件,几秒钟获得一次部署般的反馈,而完全不用部署。

#tutorial#devops#debugging#developer-tools

「在我机器上是好的」在 Kubernetes 上摔得最狠:你的本地进程对着桩服务调试,线上跑的却是真实服务。mirrord——这个 5k star、MIT 许可、被 monday.com、SurveyMonkey 和 Cadence 采用的工具——让你的本地进程像跑在集群里一样:代码留在本机,mirrord 把它的流量、文件和环境变量经由一个目标 Pod 路由出去。

为什么这个 Skill 重要

README 把它定位为覆盖开发循环的两半。写代码时,你读到的是真实的集群上下文——真实的环境变量、真实的服务响应、真实的队列内容——改动因此锚定在实际部署的东西上。然后把代码跑在同一批服务和数据上,端到端确认它真的可用。你能用几秒钟拿到一次部署般的反馈,不用部署,也不会打扰集群里的任何人。

同一套机制对开发者和 AI 编码 agent 同样生效——README 点名 Claude Code、Cursor、Codex、Copilot 和 Windsurf——这也是它进入本站目录的理由:你的 agent 可以拿它把生成的代码放到真实集群服务上运行验证。mirrord 以 VS Code 扩展、IntelliJ 插件和 CLI 工具三种形态发布;CLI 就是 agent 驱动的那个入口。

安装

CLI 通过 Homebrew 安装:

brew install metalbear-co/mirrord/mirrord

或者用安装脚本:

curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash

mirrord 使用你机器的默认 kubeconfig 访问 Kubernetes API,所以集群权限就是你 kubectl 已有的那份。

实战:让本地服务对着目标 Pod 运行

核心命令给任意进程套上一个目标:

mirrord exec node app.js --target pod/my-pod

底层发生的事情是:mirrord 在你选中 Pod 所在的节点上启动一个 agent Pod,然后把该 Pod 的入站流量镜像给你的进程,把你进程的出站流量经由它路由出去,文件读取、文件写入和环境变量也做同样的处理。本地的 app.js 读到生产的环境变量、收到生产的流量——隔离在你这台机器上,集群里的其他人毫无感知。

配置通过文件传入:

mirrord exec -f mirrord.json node app.js --target pod/my-pod

agent 驱动的工作流方面,README 指向了两个入口:安装指南和现成的工作流 skill 在配套仓库 metalbear-co/skills(mirrord 仓库自身里面的 SKILL.md 文件是内部 MCP 语料,不是对外分发的 skill),更多信息在 mirrord for AI Agents 页面。还有一个值得知道的文档化行为:在没有 mirrord for Teams 的集群上,被付费功能拦住的 agent 可以自行开启七天 Enterprise 试用——不需要账号,也不需要信用卡——然后交给你一个链接去认领它创建的组织。试用期间,agent 可以分支数据库让自己的写入离开共享数据、分裂队列让自己不再吃掉别人的消息,还可以留一个预览环境给你查看。

技巧

  • IDE 路径可以完全跳过命令行:点击 VS Code 状态栏的「Enable mirrord」(IntelliJ 是工具栏图标),开始调试,然后选择要伪装的 Pod。
  • mirrord 启动的 agent Pod 需要 Linux capabilities——CAP_NET_ADMIN、CAP_SYS_PTRACE 和 CAP_SYS_ADMIN。可以在配置里用 agent.disabled_capabilities 关掉其中任意子集,但 README 警告这可能在某些环境下削弱功能甚至让 mirrord 无法使用。
  • 配置 JSON 保持最小,等真的遇到限制再加——README 里的 disabled-capabilities 示例只有五行。

何时不用这个 Skill

mirrord 的前提是有一个 Kubernetes 集群和 kubeconfig 权限;背后没有集群的纯本地进程用它什么也得不到。第二个边界是受限集群:如果你的管理员无法给 agent Pod 批那些 Linux capabilities,README 自己就说了,在这种环境下工具可能最终无法使用。另外团队功能——数据库分支、队列分裂、预览环境——在文档化的七天试用之外是付费的(mirrord for Teams)。


查看 排行榜 了解更多 skill。