Visualize your container / microservices dependencies in a Kubernetes deployment.
Discovers nodes (sources and destinations of network traffic) and edges (connections between containers and other entities) and uses D3 [force layout] (https://github.com/d3/d3-3.x-api-reference/blob/master/Force-Layout.md) to draw a graph. You can filter by namespace.
- Use conntrack to discover connections and endpoints of the connections on each node of the kubernetes deployment. Send this data to a store (redis in this case). Use a daemonset container to deploy this function to every node
- A web server merges information from the Kubernetes API and the data collected in #1 above, on demand
- Client-side Javascript fetches the data from #2 and visualizes graph.
- A running Kubernetes 1.3+ cluster, preferably on AWS.
- Deploy redis
kubectl --namespace=kube-system create -f spec/redis-viz.yaml
- Deploy collector daemonset
kubectl --namespace=kube-system create -f spec/qubeviz-collector.yaml
- Deploy web server
kubectl --namespace=kube-system create -f spec/qubeviz-server.yaml
- Obtain the External IP of the visualization server
kubectl --namespace=kube-system get svc qubeviz-server -o jsonpath='{.status.LoadBalancer.Ingress[].hostname}'
- Browse the visualization using any standard browser