Skip to content

jsmadis/kubernetes-network-simulator-operator

Repository files navigation

Kubernetes Network Simulator Operator

The main goal of this project is to create a Kubernetes Operator which creates network simulation on top of Kubernetes. The operator is built with operator-sdk.

The operator defines 2 CRDs that are used for the network simulation.

  • Network CRD - represents a simulated network. It contains attributes that define the desired state of the simulated network.
  • Device CRD - represents a device/application deployed inside the simulated network.

By default, the simulated networks are isolated, and devices inside them can not communicate with other devices from other networks. The connection between networks/devices and devices/networks is defined within the attributes of the CRDs.

Running operator

To simulate the network inside Kubernetes, the Kubernetes need to be running with the CNI plugin. In this example, we are using the Calico plugin. Please read the quick start for Calico on minikube.

Start minikube server with the calico plugin:

$ minikube start --network-plugin=cni --cni=calico

Start the operator:

$ make install && make run

It will take a couple of minutes to start all necessary services in the Kubernetes cluster (especially the calico objects).

You can check if everything is up and running with the following command:

$ kubectl get pods --all-namespaces

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published