调研·kubeshark

Posted by Ltd on Friday, December 23, 2022

本文为2022.12.08存稿

kubeshark

针对k8s的 Chrome 开发工具 + TCPDump + Wireshark

2022.11.21完成docs网站建设

  • 它是 Kubernetes 的可观察性和监控工具,支持对微服务进行动态分析,检测异常并在运行时出现特定模式时触发功能

  • 可捕获 Kubernetes 集群内的所有网络流量,包括入口、出口以及跨容器和 pod 的流量

  • 可借助 Linux 内核技术捕获和显示加密流量 (TLS)。主要支持gRPC、GraphQL等多种应用层协议和RPC

kubeshark-pro

功能

  • 深入了解 Kubernetes 内部 API 流量

  • 服务依赖图——针对k8s集群的

    • 根据网络流量显示当前pod以及他们之间的关系
  • 实时和历史回溯调查

  • 检测异常并溯源

    • 只针对某一次的请求,验证耗时是否小于多少、数据是否符合要求等等,但无累加统计结果
  • 服务和 API 发现

  • 无摩擦,性能开销最小(?

优势

  • 无代码注入、无需二次开发

问题

  • 告警
  • 没法针对非k8s服务监控
  • 原型
  • 数据维度、数据整合
  • 数据存储
  • 微服务追踪工作正在进行中(文档)

kubeshark-mico

总结

该工具底层基于ePBF、Linux内核网络API,并且解决了流量数据加解密问题,整体上看是一款能够满足对K8s全过程流量监控与管理的工具,但目前的实现还只是一个功能原型,在数据存储、网络访问、单机瓶颈等方面仍然存在问题,也不具备模拟流量仿真能力。优势在于提供了流量查询语言KFL和微服务流量关联的知识图谱展示,但暂时没有什么基准测试工具能够表现该系统的性能。

prometheus和kubeshark是两不同方面的工具,虽然kubeshark定位也是可观测性,但在stackshare.io网站上kubeshark的竞品是下面比较基础底层的构件(可能由于比较新,其他比较没出来),而不是prometheus等监控构件

kubeshark-stackshare

Prometheus主要针对服务进行监控,数据整合然后分析告警; kubeshark主要针对k8s整体分析,进行流量加解密分析,能看到服务间的调用,各种协议的记录,但大概没有更多维度的数据分析,比如统计数据形成更丰富的图表、以及虚拟机情况,虽然有查询语句,但只能用于流量过滤查询(类似Wireshark的过滤语句?),其作用也跟声称的那样“k8s的Wireshark”,并无法对api各种指标进行监控告警

youtube上的旧版(mizu)服务依赖图示例(2021-2022) https://www.youtube.com/watch?v=TCCseTIf-6k&ab_channel=Gourcer

知乎专栏 https://zhuanlan.zhihu.com/p/586150243

stackshare 竞品比较 https://stackshare.io/kubeshark/alternatives

官方文档 https://docs.kubeshark.co/en/introduction