监控pod或服务的外部流量



我想监控pod的外部收发流量。外部流量是指从k8s集群外部发送或接收的流量。

例如NodePort、LoadBalancer和ingress服务类型。我在普罗米修斯度量中有container_network_receive_bytes_totalcontainer_network_transmit_bytes_total,但我不能用它们分离内部和外部流量。我也用过k8spacket,但它不能满足我的需要。

我该怎么办?

我认为获得所需信息的唯一方法是在您的Pod中安装tcpdump并利用其潜力。

如果您不想弄脏您的应用程序,您可以考虑创建一个管理部署,在其中安装管理此类请求所需的工具并连接到该请求。

我不知道你在哪个供应商上安装了Kubernetes,但是有关于这个主题的非常垂直的文档——>

OpenShift: https://access.redhat.com/solutions/4569211

Azure: https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/packet-capture-pod-level

https://www.redhat.com/sysadmin/capture-packets-kubernetes-ksniff

最新更新