<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>debugging on </title>
    <link>/tags/debugging/</link>
    <description>Recent content in debugging on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Tue, 28 Apr 2026 12:00:00 +0800</lastBuildDate><atom:link href="/tags/debugging/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用 mirrord 把本地进程接入 K8s 集群：从 Demo 到真实调试实践</title>
      <link>/posts/mirrord-local-k8s-debug/</link>
      <pubDate>Tue, 28 Apr 2026 12:00:00 +0800</pubDate>
      
      <guid>/posts/mirrord-local-k8s-debug/</guid>
      <description>调试 Kubernetes 里的服务有多烦？本地改一行代码，要走完 mvn package → docker build → kind load → kubectl rollout restart 这一套，少则一两分钟，多则好几分钟。而且这还只是单服务，如果服务依赖同命名空间里的 MySQL、Redis 或者其他微服务，kubectl port-forward 也救不了你——端口转发不能同时暴露多个服务的网络环境，更没法让你的本地进程「假装」是 Pod 本身。
mirrord 解决的正是这个问题。这篇文章通过一个完整的 Demo 项目，带你从零走完「本地进程通过 mirrord 接入 k8s 集群调试」的完整流程。
问题：开发者与 K8s 之间的摩擦 常见的几种调试方案，各有明显局限：
方案 痛点 kubectl port-forward 只能转发单个端口，进程本身感知不到集群的服务发现和环境变量 Skaffold / Tilt 热重载 仍然需要 build → load → rollout，只是自动化了步骤，没有消除延迟 在 Pod 内直接 exec 调试体验差，IDE 断点无法接入 远程 JVM debug + port-forward 可以断点，但进程还是跑在集群里，不是本地环境 理想状态是：本地用 IDE 正常启动应用，但进程的网络、环境变量、文件系统全都来自集群。 这就是 mirrord 的设计目标。
mirrord 是什么？它怎么工作？ mirrord 是 MetalBear 开源的一个开发者工具（GitHub），核心思路是：</description>
    </item>
    
  </channel>
</rss>
