
Kubeshark在 K8s 里抓到全流量并读出明文的 3 个方法【免费下载链接】kubesharkeBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.项目地址: https://gitcode.com/gh_mirrors/ku/kubeshark上周集群里冒出一次偶发 502日志只有一句“上游超时”网络到底卡在哪Kubeshark 是一款面向 Kubernetes 的全流量捕获与分析工具用 eBPF 在内核层抓包按命名空间、Service、Pod 给每条 L4/L7 流量建立索引连 TLS 加密流量也能读出明文。下面讲清楚它怎么装、怎么过滤、怎么把 PCAP 导出来。Kubeshark 是什么一个内核级的流量索引Kubeshark 是给值班工程师和 SRE 用的网络可观测工具。它不要求给应用埋点或接入 APM SDK而是在内核层捕获全部流量按协议解析后把每个请求关联回它所属的 Pod、Service 和命名空间。eBPF内核沙箱技术可在内核里安全运行程序而无需改动内核让这件事成为可能。整个方案由三部分组成WorkerDaemonSet每个节点一个负责抓包和 L7 协议解析Hub聚合流量负责存储、解密与对外提供数据接口FrontWeb 端提供实时流量表、详情面板和服务依赖图能力速览它都能干什么项目你能得到什么协议解析HTTP、gRPC、Kafka、Redis、MySQL/PostgreSQL、DNS 等 L7 协议另有 TCP/UDP 的 L4 流TLS 明文内核内直接解密 TLS/mTLS 流量不需要 CA 和密钥管理过滤KFL 过滤语言基于 CEL 表达式可按命名空间、Service、状态码、耗时等组合筛选导出按时间范围、节点、工作负载导出 PCAPWireshark 通用格式快照可推送到 S3/GCS/Azure BlobAI 集成自带 MCP 服务AI 助手可直接查询 API 调用数据上手三步走第一步一条 helm 命令装好生产环境推荐走 Helm三条命令helm repo add kubeshark https://helm.kubeshark.com helm install kubeshark kubeshark/kubeshark kubectl port-forward svc/kubeshark-front 8899:80执行完打开http://localhost:8899就开始抓流量了。port-forward 适合临时体验正式环境建议用 ingress 暴露 front 服务。只想在本地快速试用也可以brew install kubeshark装个 CLI 再跑kubeshark tap参数定义见 cmd/tap.go。第二步只抓你要的流量kubeshark tap是启动捕获的开关-n选命名空间位置参数是 Pod 名正则kubeshark tap -n sock-shop catalog|front-end # 只抓 sock-shop 下匹配的 Pod kubeshark tap --tls -n default # 带上 TLS 解密流量更细的过滤放到 Web 端用 KFL 写。比如status_code 500 and path /checkout就能直接把失败的下单请求筛出来不用动任何代码。第三步看懂界面导出 PCAPWeb 控制台主要有四个区域流量列表实时 L7 请求流可按状态码、耗时排序详情面板请求/响应头、body 及对应的 K8s 元数据过滤框输入 KFL 表达式做多条件筛选服务地图工作负载之间的调用关系可视化排查需要离线继续时把原始包导出来PCAP 是 Wireshark 的标准抓包格式kubeshark pcapdump --time 10m --dest ./pcaps这一条命令把最近 10 分钟、含解密后 TLS 的流量拷到本地Wireshark 直接打开。进阶场景大集群省资源调 helm-chart/values.yaml 里的trafficSampleRate默认 100把抓取比例降下来开启 resourceGuard 后节点负载过高时会自动限制捕获。hub 的默认内存限制是 5Gi大集群建议按规模上调。给 Web 界面加安全层集群流量是敏感资产生产上至少做两件事打开auth.enabledSAML 登录给界面加认证打开networkPolicies用 NetworkPolicy 把组件间通信圈起来。两个参数都在同一份 values 文件里。让 AI 直接查网络kubeshark mcp会启动一个 MCPModel Context ProtocolAI 调用工具的标准协议服务器接入 Claude、Copilot 等助手后可以直接问“哪些服务的错误率超过 1%”“把这个请求的完整链路拉出来”。skills/ 目录还附赠网络根因分析和 KFL 编写两套开源技能包装上即用。避坑清单现象对照表现象可能原因处理某节点没有流量Worker 没调度上去污点、非 linux 节点看 worker Pod 状态与事件nodeSelector 默认只匹配 linux 节点Web 界面打不开port-forward 断开或端口被占重跑 port-forward或改用 ingress 访问TLS 流量仍是密文启动捕获时没开解密开关加--tls重新 tap服务网格 mTLS 用--service-mesh集群 CPU/内存飙高全量捕获叠加高流量调低trafficSampleRate、上调资源限制或开启 resourceGuard适合谁不适合谁Kubeshark 适合能跑特权工作负载的 K8s 集群内核级抓包需要提权场景集中在值班排障、API 调试和安全审计如果你没有 Kubernetes或需要永久归档全量流量更适合选专用 APM 或流量归档方案——它默认只保留 TTL 内的数据长期留存要额外配置快照的云存储。文档README.md克隆仓库git clone https://gitcode.com/gh_mirrors/ku/kubeshark社区README 里列有 Discord 与 Slack 入口如果这篇帮你省了一次排查时间欢迎顺手给仓库点个 star 【免费下载链接】kubesharkeBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.项目地址: https://gitcode.com/gh_mirrors/ku/kubeshark创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考