如何查找每个AWS EKS pod从NAT网关传输的数据?



我已经在私有子网中部署了我的EKS集群,现在这个子网使用NAT网关访问互联网。我想知道从每个pod到NAT网关传输了多少数据??

你不需要,真的。

在该粒度级别上没有可用的度量。您可以看到每个NAT网关传入/传出的总字节数,但它不会告诉您每个pod(或专用子网中的任何其他服务)占传输的总字节数的百分比。


默认情况下,来自EKS集群中所有pod的容器从集群的主机共享网络接口,这更具有成本效益并节省VPC中的可用IP地址,但意味着您无法使用流量日志跟踪单个容器流量。在理论上(我不建议这样做),你可以配置你的集群,为集群中的每个容器分配一个VPC网络接口,并使用VPC流量日志独立地跟踪流量到NAT网关,然后过滤/聚合数据,将其关联回原始pod,以确定每个pod发送到NAT网关的流量。在实践中,这既困难又昂贵。

参见如何在我的VPC中找到通过NAT网关的流量的顶级会话者或贡献者?查看详细信息。

另一个选项可能是为绑定到NAT网关的请求使用代理容器,并让代理收集每个pod的指标。您必须配置pod来使用代理,将pod信息共享给代理,并配置代理来跟踪/提供指标。我不知道有什么现成的工具可以做到这一点。

最新更新