Skip to the content.

Prerequisites

Regardless of what orchestration method you choose, you will need to have docker correctly installed and running on your nodes. To do so, we recommend following Docker’s instructions. Check the official instructions for Ubuntu and macOS.

Secondly, you just need to clone this repository and its dependencies:

git clone --branch master --depth 1 --recurse-submodules https://github.com/miguelammatos/Kollaps.git

Installation Using Docker

This is the recommended and quickest way to get Kollaps running. It only requires building the three Docker images, as follows:

export DOCKER_BUILDKIT=1
docker build --rm -f dockerfiles/Kollaps -t kollaps:2.0 .
docker build -f dockerfiles/DeploymentGenerator -t kollaps-deployment-generator:2.0 .
docker build -f examples/utils/dashboard/Dockerfile -t kollaps/dashboard:1.0 examples/utils/dashboard/

Setting up Docker Swarm

To create a Swarm, execute on one machine:

docker swarm init

This gives you a join command like this: docker swarm join --token <token> <IP>:<port>. If you want to run experiments on a multi-node cluster, execute this command on all the other nodes. Promote each of them to manager like this: docker node promote <node name>.

Note that when using multiple nodes, all the topology.xml files should be in the same path.

The experiments in the examples folder require the existence of an attachable network named “kollaps_network”. To create it, run:

docker network create --driver=overlay --subnet=10.1.0.0/24 kollaps_network

For topologies with more then 257 services use:

docker network create --driver=overlay --subnet=11.1.0.0/20 kollaps_network

(Make sure to define a subnet that does not collide with other networks on your setup.)

You are now ready to start creating topologies and running them, check our Topology Description page to learn how to create them.