Skip to content

Weave scope High level design

Satyam Zode edited this page Mar 20, 2018 · 3 revisions

scope HLD

Weave scope probe:

This is DeamonSet running on each node/host in kubernetes cluster. It's responsible to query all the parameters from node such as information about processes, docker containers, kubernetes objects. Probe compiles the single report based after querying.

Weave scope app:

This is responsible for pulling all the reports from all the probes present in cluster and creating a single report from all the reports pulled as well as rendering final report on UI.

Scope application UI:

Scope application UI contains Topology of different nodes having adjacency.

Topologies :

Topology is collection of nodes and adjacency.

Node:

Node represents individual object su as process, container, Kubernetes Pods, Kubernetes Service, Kubernetes Deployment, Host etc. in the form of shapes. Nodes information is retrieved using probe and weave scope app renderes this info on the UI.

Adjacency:

Adjacency is the link between any two nodes. Adjacency represents that two nodes involved have network communication among them. Adjacency is derived using scope probe and rendered using scope app.

Filters:

Filters are invoked from UI and based on the filter data is retrieved from probe.

UI features:
  • Graph view : Graph view is an interactive view provided by scope. In graph view, user can see topology i.e relation between nodes and adjacency.
  • Table view : Table view is simple tabular view of all the nodes with sorting ability.
  • Info overlay: Info overlay appears after clicking on the node.
    • Controls: Controls can be used to perform certain operation on the selected node. For example, user can exec or ssh into container with help of control.
    • Metrics: Metrics are realtime information about CPU, Memory etc.
    • Metadata: Metadata provides information about Kubernetes/Docker labels.
    • Table : Table provides information about list of containers, processes running with in node/pod.