【发布时间】:2019-11-19 14:13:16
【问题描述】:
如何跟踪 GCP Kubernetes 服务的流量?我想看看谁访问了服务和流量。
【问题讨论】:
标签: kubernetes google-kubernetes-engine http-trace
如何跟踪 GCP Kubernetes 服务的流量?我想看看谁访问了服务和流量。
【问题讨论】:
标签: kubernetes google-kubernetes-engine http-trace
确保暴露您的 pod 的服务配置了 externalTrafficPolicy: local,以确保到达您的 pod 的请求保持其客户端 IP。
接下来,确保您的应用程序记录传入连接(默认情况下,nginx 会这样做)。 确保您已启用日志记录(stackdriver 或 ELK 等 3rd 方工具),以便您可以导出日志(k8s 集群不会长时间保存容器日志)。
如果您使用的是 Stackdriver,则可以根据您收集的日志创建基于日志的指标。只要您按容器收集日志,该指标就应该聚合来自每个 pod 的日志。然后,您可以使用 Stackdriver Monitoring 来观察 pod 接收的网络负载,并使用 Stackdriver Logging 来查看请求的源 IP。
如果您无法让您的应用程序记录连接,另一种方法是创建一个运行 TCPdump 的 DaemonSet 以将连接流式传输到您的服务(具体配置方式取决于您使用的服务)。
【讨论】: