0

如何跟踪 GCP Kubernetes 服务的流量?我想看看谁访问了服务和流量。

4

1 回答 1

1

确保您的暴露您的 pod 的服务已配置,externalTrafficPolicy: local以确保到达您的 pod 的请求保持其客户端 IP。

接下来,确保您的应用程序记录传入连接(默认情况下,nginx 会这样做)。确保您已启用日志记录(stackdriver 或 ELK 之类的第 3 方工具),以便您可以导出日志(k8s 集群不会长时间保存容器日志)。

如果您使用的是 Stackdriver,则可以根据您收集的日志创建基于日志的指标。只要您按容器收集日志,该指标就应该聚合来自每个 pod 的日志。然后,您可以使用 Stackdriver Monitoring 来观察 pod 接收的网络负载,并使用 Stackdriver Logging 来查看请求的源 IP。

如果您无法让您的应用程序记录连接,另一种方法是创建一个运行 TCPdump 的 DaemonSet 以将连接流式传输到您的服务(具体配置方式取决于您使用的服务)。

于 2019-11-19T15:20:30.263 回答