
Kubetap5 分钟看懂这款 Kubernetes Service 流量拦截神器彻底告别繁琐手工代理【免费下载链接】kubetapKubectl plugin to interactively proxy Kubernetes Services with ease项目地址: https://gitcode.com/gh_mirrors/ku/kubetapKubetap 是一款开源的 kubectl 插件一条命令即可在 Kubernetes 集群内部署流量拦截代理基于 MITMProxy让你轻松代理任意 Service 的 HTTP/HTTPS 流量。无需 CNI 改造、无需手工修改清单5 分钟就能完成从安装到流量抓包的全过程。它是什么给 Service 接上流量水龙头 Kubetap 的名字来自Kubernetes Tap水龙头就像给啤酒桶接上龙头一样它给集群里的 Service 接上一个可以随时开关的流量龙头。它的本质是一个标准的 kubectl 插件二进制名为kubectl-tap所以可以直接用kubectl tap调用并天然继承--context、-n等 kubectl 常用参数。装上龙头后你只需要三步kubectl tap on service—— 部署拦截代理打开本地端口查看、修改流量kubectl tap off service—— 一键拆除集群恢复原样为什么需要它手工代理有多折磨人在传统 Web 应用测试中流量拦截只能覆盖从你自己机器发出的请求而在 Kubernetes 微服务世界里调用关系更像一团乱麻想拦截某个 Service过去要手工走一长串流程往 Deployment 里加 sidecar → 修改 Service 清单 → 部署 mitmweb → 部署、测试、改 bug → 再逐一回滚……每一步又慢又容易出错。如果你拥有应用源码加满屏 printf 等 CI 也是一种选择——而 Kubetap 把这整串繁琐的手工代理流程直接压缩成了两条命令。流量拦截原理一图看懂它是怎么工作的执行tap on后Kubetap 会自动在集群内部署一个代理默认 MITMProxy以 sidecar 形式运行流量不出集群、性能损耗小并把目标 Service 的流量导向它。无论请求来自哪个 Service只要目的地是被接上龙头的服务都会先经过代理两大典型使用场景安全测试测试者可以拦截任意 Service 的入站流量看到其他服务之间别人发出的内网请求——这正是传统代理工具看不到的盲区。开发调试只在预发/线上复现的 bug不必再加打印代码等 CI直接在 Service 前面架起代理肉眼检查每个入站请求。最快上手3 条命令完成第一次流量拦截 ⚡第 1 步安装任选其一详见项目内docs/getting_started/installation.md# 方式一krew 插件市场 kubectl krew install tap # 方式二HomebrewmacOS 推荐 brew tap soluble-ai/homebrew-kubetap brew install kubetap # 方式三源码编译需要 Go 1.14 git clone https://gitcode.com/gh_mirrors/ku/kubetap cd kubetap go generate go install ./cmd/kubectl-tap第 2 步接上龙头。以拦截grafanaService 的 443 端口为例--browser会自动打开浏览器kubectl tap on grafana -p443 --https --browser执行后会输出两个本地地址一个是 mitmproxy 的 Web 控制台一个是目标 Service 的端口转发地址。第 3 步查看拦截到的流量。在 mitmproxy 控制台中你可以看到经过拦截的请求列表直接修改、重放请求收尾调试完成后用下面命令清理现场集群恢复原状kubectl tap list # 列出所有已接上龙头的 Service kubectl tap off grafana下面是用 Kubetap 代理 Harbor 的完整实操演示小贴士--browser隐含了--port-forward会自动把代理和目标端口转发到本地是新手体验最省事的方式。更多用法可参考docs/getting_started/quick-start.md与docs/getting_started/usage.md。常见问题速查 ️装完提示unknown command tap多半是${GOPATH}/bin没加入 PATH在.bashrc或.zshrc中补一行export PATH${GOPATH}/bin:${PATH}即可。macOS 二进制无法运行官方建议改用 Homebrew 安装或从源码构建。更多构建与运行问题可直接查阅项目内的docs/FAQ.md。除了命令行Kubetap 还支持以容器/Pod 形式调度到集群中运行会自动识别挂载的 ServiceAccount token代理镜像的构建脚本位于proxies/mitmproxy/目录。写在最后回顾一下这款 Kubernetes Service 流量拦截神器的三个核心优势✅零侵入CNI 无关不需要改造集群网络插件✅零手工sidecar、清单修改、端口转发全部自动完成on/off/list 三条命令搞定✅零残留tap off一键拆除流量回到原路径不管是做安全渗透测试还是排查只在线上复现的神秘 bug装上一个 Kubetap就能把够不着的服务变成看得见的服务。【免费下载链接】kubetapKubectl plugin to interactively proxy Kubernetes Services with ease项目地址: https://gitcode.com/gh_mirrors/ku/kubetap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考