如何在 kubernetes 中记录 pod 的传出 HTTP 请求?

How to log pod's outgoing HTTP requests in kubernetes?

我有一个带有 运行ning pods 的 kubernetes 集群。为了监控基础架构并对其进行故障排除,我想实施一个集中式日志记录解决方案,以便所有传入和传出的 HTTP 请求都记录在一个地方。

对于传入的请求,这根本不是问题,我可以使用来自入口控制器的 nginx 日志并呈现它。

我也明白我可以在 pod 中的应用程序中记录传出请求 运行,但问题是外部开发人员的应用程序也被使用,它可能不包含日志记录实现。

对于传出的请求,如果我没理解错的话,默认是没有提供任何解决方案的。我探索了 k8s 日志记录和 k8s 审计,但它没有提供这样的功能。

可能,我需要一些网络嗅探器,但正如我所见,它是解决此类问题的低级解决方案。所以,问题是:有没有针对这种需求的开箱即用的实现?

谢谢!

看看像 Istio or Linkerd as well as tracing solutions like Jaeger or Zipkin 这样的服务网格解决方案。有了这些,您就可以建立对信息如何流动 in/out 以及如何通过您的 kube 集群

的完全可观察性