Skip to content

Introduction ​

Kubesonde is a tool that probes and visualizes the actual network connectivity of applications running in a Kubernetes cluster, so you can compare it against the network policies you meant to enforce. It works by instrumenting live pods at runtime and reporting every connection attempt it observes, rather than relying only on what your NetworkPolicy manifests declare.

Kubesonde answers a concrete question that manifests alone cannot:

From this pod, what can I actually reach right now?

It probes live pods, records every connection attempt and its outcome, and lets you visualize the resulting connectivity graph.

Why Kubesonde ​

Kubernetes network security is declarative: you write NetworkPolicies and trust that the cluster enforces them. In practice, the gap between intended and actual connectivity is where misconfigurations hide.

  • NetworkPolicies are hard to get right. A missing selector, an overly broad podSelector, or a forgotten default-deny policy can silently leave pods reachable when they should be isolated. Reading the manifests does not tell you what traffic is really allowed.
  • The enforced state can differ from the declared state. CNI plugins, admission controllers, and overlapping policies interact in non-obvious ways. The only way to know what a pod can actually reach is to try.
  • Auditing connectivity by hand does not scale. In a namespace with dozens of microservices, manually reasoning about which pod can talk to which — and on which ports — is error-prone and quickly becomes impossible.

What you can use it for ​

  • Verify isolation policies work as intended after you write or change a NetworkPolicy.
  • Find unexpected reachability before an attacker does.
  • Understand the real communication footprint of an application you inherited or are onboarding.
  • Regression-test connectivity by asserting expected Allow/Deny outcomes.

What Kubesonde is not ​

Kubesonde is not a network policy engine, admission controller, or firewall. It does not block or modify traffic, and it does not replace tools like Cilium, Calico, or Kubernetes NetworkPolicies. It is a diagnostic and auditing tool for finding gaps between the connectivity you think you have and the connectivity you actually have.

See What Kubesonde is not for the full boundary.

Publications ​

Kubesonde has been described and used in the following peer-reviewed papers:

Released under the Apache License 2.0.