跳到正文
发现
mirrord:让本地进程接入 Kubernetes 集群
命令行工具开发者工具

mirrord:让本地进程接入 Kubernetes 集群

把本地进程或 AI 编码代理的运行环境接入线上 K8s 集群,共享真实流量、文件和环境变量。

admin
发布于 2026-10-28 · 更新于 2026-11-02
浏览
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 整理,以原仓库为准。

更新记录

  1. v3.283.0当前版本

    ### Added

  2. v3.282.0

    新增实验性 `mirrord up --debug <service>`,可在服务代码运行前挂起等待 IDE 调试器接入;新增 `mirrord up list` 列出 up 文件中的所有服务,支持 JSON 输出;修复上级目录 stat/access 本地解析、工作负载选择器表达式及 operator 返回 503 时长时间无输出等问题。

  3. v3.281.0

    付费功能报错会指出对应配置项和所需套餐;清理 JDK_JAVA_OPTIONS 中的 javaagent 选项;新增 agent HTTP/2 头部大小限制配置,修复占位文件权限、mirrord up 遇到非 UTF-8 输出中断及标签选择器报错等问题。

评论