Skip to main content

KubeNDT

KubeNDT is a platform for deploying and operating virtual network topologies on Kubernetes - a Kubernetes Network Digital Twin.

The KubeNDT dashboard rendering a virtual network topology as an interactive graph

You define your topology as a JSON file (nodes, links, images, replicas) and KubeNDT deploys it into your cluster and shows it as a live graph in the dashboard. From there you can apply a network configuration (IP addresses, routes, NAT, OSPF, bridging…) across all nodes at once, open a shell into any of them, add or remove nodes on the fly, and monitor interface states in real time. Any container image works as a node.

Network configuration is abstracted through a driver and capability system: regardless of what image a node runs, the same declarative actions apply. The driver translates them into the right commands for that node type.

Key features

Core capabilities

  • Real-time topology visualization with drag-and-drop node positioning.
  • Multi-instance nodes via StatefulSets with configurable replicas.
  • Virtual networking overlays powered by Meshnet CNI for custom L2/L3 connectivity.
  • Modular driver architecture for different node types (hosts, routers, switches) with extensible capabilities.
  • Interactive terminal shell over WebSocket for real-time pod access.
  • Dynamic network modification - add/delete nodes and links without redeploying the whole topology.
  • Persistent topology state - save/export topologies as JSON for reproducible deployments.

Advanced networking

  • Layer 2: interface management, bridge creation, VLAN configuration.
  • Layer 3: IP assignment, static routing, default gateways.
  • Routing protocols: FRRouting (OSPF, BGP, IS-IS…) for dynamic routing.
  • Traffic control (QoS): rate limiting, shaping, netem emulation.
  • NAT / port forwarding: SNAT and DNAT configurations.
  • Network diagnostics: real-time interface status and traffic analysis.
  • Live packet capture: per-interface capture streamed to the dashboard, with .pcap export.
  • Packet-path tracing: run a traceroute from any node and follow each hop across the topology graph.

Operations

  • Multi-namespace support - isolate topologies per namespace.
  • Authentication - password login, browser sessions, and revocable API tokens for programmatic access.
  • RESTful API - Swagger-documented API for programmatic management (see the API Reference).
  • File management - upload, organize, and mount configuration files into pods.

Where to next

How to cite

If you use KubeNDT in academic work, please cite it via its Zenodo record. The concept DOI below always resolves to the latest release:

García de la Calera Molina, E. (2026). KubeNDT: A Network Digital Twin platform in Kubernetes [Computer software]. https://doi.org/10.5281/zenodo.21276320

To pin a specific version, or for a ready-made BibTeX or APA entry, use the CITATION.cff in the repository.

License

KubeNDT is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). Commercial licensing may be available in the future.