How can I monitor and discover trafic between Kubernetes Services?

9/29/2017

I'm working on a way to discover trafic between Kubernetes Services and to monitor it ? Does someone know how can I achieve that ?

Where I can for example find this kind of metrics or events ?

Thank you in advance

-- Dan Azoulay
discovery
docker
kubernetes
monitoring
service

1 Answer

9/30/2017

If you are using kube-proxy --proxy-mode iptables (which is a default by the time of writing) then you can use Netflow iptables module.

Or if you need to debug something ad-hoc then just grep <service_ip> /proc/net/nf_conntrack. Here is an example of a DNS talk we have:

# grep '10\.3\.0\.10' /proc/net/nf_conntrack
ipv4     2 udp      17 26 src=192.168.101.1 dst=10.3.0.10 sport=41349 dport=53 src=10.2.38.2 dst=10.2.31.0 sport=53 dport=41349 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 zone=0 use=2
ipv4     2 udp      17 12 src=192.168.101.1 dst=10.3.0.10 sport=57298 dport=53 src=10.2.38.2 dst=10.2.31.0 sport=53 dport=57298 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 zone=0 use=2
ipv4     2 udp      17 102 src=192.168.101.1 dst=10.3.0.10 sport=43260 dport=53 src=10.2.38.2 dst=10.2.31.0 sport=53 dport=43260 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 zone=0 use=2
ipv4     2 udp      17 65 src=192.168.101.1 dst=10.3.0.10 sport=44899 dport=53 src=10.2.38.2 dst=10.2.31.0 sport=53 dport=44899 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 zone=0 use=2
-- twil
Source: StackOverflow