Multi-Cluster Kubernetes WAN/LAN Fabric
Team project for CS 4383: Computer Networks, measuring tail latency under WAN impairment
A team assignment for CS 4383: Computer Networks at Vanderbilt, building on a grocery-delivery microservices app (Ordering, Inventory, Pricing, and Analytics services, plus simulated delivery robots) from an earlier assignment. With two teammates, I helped deploy the app across four real Kubernetes clusters standing in for geographically distributed data centers, then used ContainerLab to insert emulated WAN links between them and measured how tail latency held up as we made the network worse on purpose.
How I contributed
Deployed the microservices across four K8s clusters, advertising cross-cluster services as NodePort to route traffic through ContainerLab-emulated WAN links inserted between the client, core-service, and robot-hosting clusters. Used tc/netem within ContainerLab to impose WAN impairment conditions—added latency, jitter, packet loss, and bandwidth limits—across multiple scenarios. Generated realistic refrigerator- and truck-request workloads with Locust.io and measured P50/P90/P95/P99 tail latencies via CDF curves to quantify how each impairment scenario degraded end-to-end performance versus the unimpaired baseline.