Skip to content

submariner: support #20

Open
Open
@hunchback

Description

@hunchback

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions