Dockerman 文档
Kubernetes

调试助手

为目标 Pod 启动临时 debug Pod,用于诊断网络、DNS 和文件系统问题。

v4.8.0 新增。使用调试助手在目标 Pod 旁边启动一个临时调试 Pod,并打开一个预装了调试工具的 Shell。

何时使用调试助手

  • 目标镜像是精简镜像,如 distroless 或 scratch,没有 Shell。
  • 你需要使用 tcpdumpdigcurlnc 等工具,但目标镜像中没有这些工具。
  • 你需要检查挂载的卷或 Pod 的网络命名空间,而不想直接操作 Pod。
  • 你正在调试 CrashLoopBackOff,Pod 无法保持足够长的时间来执行 kubectl exec

启动调试 Pod

选择目标 Pod

在 Pods 或 Workloads 页面,选择你要检查的 Pod 上的 Debug 按钮。

配置共享选项

选择是否共享进程命名空间、网络命名空间和挂载的卷。

等待调试 Pod 就绪

Dockerman 创建 Pod 并等待其变为 Ready 状态,然后才会打开终端。

通过嵌入式终端交互

调试 Pod 会在 Dockerman 的终端标签页中打开。

调试预设

Dockerman 内置三种预设,可为常见运行时预配置调试端口和协议:

预设端口协议
Node.js9229Inspector
Go (Delve)2345DAP
Python (debugpy)5678DAP

启动调试 Pod 时选择一个预设,即可跳过手动端口配置。

调试 Pod 内置工具

工具用途
bash, shShell
ps, top, htop进程检查
netstat, ss连接状态
tcpdump数据包捕获
curl, wgetHTTP 探测
dig, nslookupDNS 解析
nc原始 TCP 和 UDP 检查
vim, less文件检查
strace系统调用追踪(内核允许时)

常见调试工作流

清理

调试 Pod 是临时的。完成后关闭终端标签页或退出 Shell,Dockerman 会自动为你清理。