skydive-ui icon indicating copy to clipboard operation
skydive-ui copied to clipboard

submariner: support

Open hunchback opened this issue 5 years ago • 0 comments

Mockup

Just a mockup with a static JSON file to show how we would want to depict submariner:

image

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

hunchback avatar Dec 12 '19 13:12 hunchback