Skip to content

Concepts

Lab Topology Builder

The Lab Topology Builder is a network emulator that allows you to build a topology of virtual machines and containers, which are connected to each other according to the network topology you have defined.

Network Topology

The arrangement or pattern in which all nodes on a network are connected together is referred to as the network’s topology.

Here is an example of a network topology:

LTB

Lab

In our context, a lab refers to a networking lab consisting of interconnected nodes following a specific network topology.

LTB Operator

The LTB Operator is a K8s Operator for the LTB application, which is responsible for creating, configuring, and managing the emulated network topologies of the LTB application inside a Kubernetes cluster. It also automatically updates the status of the labs based on the current state of the associated containers and virtual machines, ensuring accurate and real-time lab information.

Lab Template

A LabTemplate is a Kubernetes custom resource (CR), that defines a template for a lab. It contains information about which nodes are part of the lab, their configuration, and how they are connected to each other.

Lab Instance

A LabInstance is a custom resource (CR) that describes a specific lab intended for deployment within a Kubernetes cluster. It has a reference to the LabTemplate you want to use and also has a status field that is updated by the LTB Operator. This status field shows how many pods and VMs are running in the lab and the status of the LabInstance itself. In addition, it also has a dns address field, that will be used to access the nodes using the web-based terminal.

Node Type

In a network, a node represents any device that is part of the lab. A NodeType is a CR that defines a type of node that can be part of a lab. You reference the NodeType you want to have in your lab in the LabTemplate. Within LTB, a node can be either a KubeVirt virtual machine or a regular Kubernetes pod.

If you would like to familiarize yourself with the Kubernetes concepts mentioned above, please refer to the following links:


Last update: June 30, 2023