Applied Computing Research Labs Logo
Open source research and development in distributed systems

Setting up your SimKube development environment #

This guide will walk you through the steps to build and install SimKube from source. You'll need to have a pre-existing Kubernetes cluster to install SimKube on (follow the steps to set up a local cluster with Kind).

Prerequisites #

In addition to the project prerequisites, you will need to have the following installed:

SimKube uses 🔥Config to generate Kubernetes manifests from definitions located in ./k8s/. If you want to make changes to the generated Kubernetes manifests, you will need to install the following additional dependencies:

Optional prerequisites #

Setup #

Run make setup to install the pre-commit hooks and configure the Poetry virtualenv in ./k8s

Building SimKube #

To build all SimKube artifacts for the first time run:

git clone https://github.com/acrlabs/simkube && cd simkube
git submodule init && git submodule update
make build

For all subsequent builds of SimKube artifacts, run only make build from the root of this repository.

Docker images #

To build and push Docker images for all the artifacts, run DOCKER_REGISTRY=path_to_your_registry:5000 make image

Running the artifacts: #

To run the artifacts using the images you built in the previous step, run make run. You should now see the SimKube pods running in the simkube namespace on your Kubernetes cluster:

> kubectl get pods -n simkube
NAMESPACE   NAME                              READY   STATUS      RESTARTS   AGE
simkube     sk-ctrl-depl-b6fbb7744-l8bwm      1/1     Running     0          11h
simkube     sk-tracer-depl-74546ccb48-5gmbc   1/1     Running     0          11h

Cleaning up #

All build artifacts are placed in the .build/ directory. You can remove this directory or run make clean to clean up.