skydive-ui
skydive-ui copied to clipboard
submariner: support
Mockup
Just a mockup with a static JSON file to show how we would want to depict submariner:
You can find the mockup code here: https://github.com/hunchback/skydive-ui/tree/submariner-mockup
Development Setup
You can install submariner (using e2e test setup) and then install Skydive in a multi-cluster setup:
skydive analyzer cluster1
host_id: cluster1
analyzer:
listen: 0.0.0.0:18082
topology:
probes:
- k8s
k8s:
config_file: /home/vagrant/.kube/kind-config-cluster1
etcd:
listen: 0.0.0.0:22379
data_dir: /var/lib/skydive1/etcd
name: cluster1
skydive analyzer cluster2
host_id: cluster2
analyzers:
- 127.0.0.1:8082
analyzer:
listen: 0.0.0.0:28082
topology:
probes:
- k8s
k8s:
config_file: /home/vagrant/.kube/kind-config-cluster2
etcd:
listen: 0.0.0.0:32379
data_dir: /var/lib/skydive2/etcd
name: cluster2
skydive analyzer broker
host_id: broker
analyzer:
listen: 8082
Topology
We basically want to be able to identify:
- submariner broker
- submariner route-agent
- submariner gateway
And then depict the links between these nodes.
Use current k8s probe
So you enable the probe in cluster1 and cluster2
You use k8s metadata Labels fields to identify various submariner elements
Extend k8s probe to also capture CRDs
This means we have to support understanding CRD templates and CRD objects (which represent submariner control plane).
Add a dedicated submariner probe
The broker has an API which can be queried and used to understand the submariner topology.
Flows
By understand submariner topology we can now track flows crossing between clusters (via the IPSec tunnel) and ensure they are associated and thus can be tracked across boundaries