Skip to content

Kubernetes Network Scheduler via NS-3

KNS-3 creates network-aware Kubernetes clusters. Every scheduling decision is backed by a real NS-3 simulation driven by live cluster metrics, so pods land on the nodes with the best actual network conditions.

Get StartedView GitLab

NS-3 Network Simulation

Each scheduling decision is backed by a real NS-3 simulation. Candidate nodes are scored using a full-mesh point-to-point topology modelled from live cluster metrics.

Live Prometheus Metrics

The simulator pulls real-time latency, packet loss, bandwidth, and congestion data from a built-in Prometheus stack, no external monitoring setup required.

Kubernetes Scheduling Framework

KNS-3 integrates via the standard scheduling framework: a Filter plugin excludes ineligible nodes and a Score plugin ranks the rest by simulated network quality.

QoS Annotations

Pods can declare a kns-3-scheduler/qos: rigorous annotation to restrict placement to nodes explicitly labelled as high-capability. See Scheduling Pods.

FastAPI Simulator Bridge

A FastAPI service translates Prometheus metrics into NS-3 simulation requests and exposes a simple REST API. Supports both live (GET /simulate) and custom (POST /simulate/custom) modes. See the FastAPI reference.

Drop-in Deployment

Deploy with a single make deploy. KNS-3 runs alongside the default scheduler, only pods that opt in via schedulerName: kns-3-scheduler are affected.