Kubernetes workshop in a box

Me 2020 squarePosted by Pascal Widdershoven on 9-4-2020

We recently organised an internal Kubernetes workshop at our office. Each participant got their own 3-node Kubernetes cluster and all they needed was a computer with an SSH client, no other software required! How? Read on to find out!


I wanted participants to have a real cluster to experiment with, but didn’t want to ask everyone to install Minikube. It’s heavy weight, can be a bit of a hassle to setup and I just didn’t want people to have to mess with stuff like this. Workshops should have a low as possible barrier to entry.

To pull this off I used Kind (Kubernetes In Docker) + a bit of scripting and Unix magic! 💪

The setup

The setup works as follows:

  1. A single, beefy cloud server is used to host all Kubernetes clusters.
  2. Kind creates true Kubernetes clusters inside Docker containers. This way, each cluster is fully isolated from the other clusters and clusters can run side-by-side on a single host machine. Every cluster consists of one master and two worker nodes.
  3. The clusters are (automatically) provisioned in advance to the workshop, as creating the clusters is quite resource intensive and takes a couple of minutes per cluster.
  4. During the workshop participants can claim their own cluster via SSH and then access their private cluster via a new SSH session.

You can see the process from a participant perspective in action below:

GIF Kubernetes Workshop

Hardware & costs

A Kind cluster is quite resource intensive, though in part it depends on the workloads your workshop participants are running of course. For our workshop with 15 participants we used an AWS m5.8xlarge machine. This machine type has 32 VCPU’s and 128GB of RAM. It costs $1.712 per hour (in eu-west-1) and we needed it only for about 3 hours so that’s about $5 total 🙂.

In hindsight, this machine was way over provisioned for this number of clusters, so you could go even cheaper 😀

You can use this too to run your own Kubernetes workshops!

We’ve open-sourced the tooling we built to do this here: https://github.com/kabisa/k8s-workshop-in-a-box. Feel free to use it and if you do please reach out to me I’d love to hear from you! ❤️

Me 2020 square

Pascal Widdershoven

Full Stack Developer • Github: pascalw • Twitter: @_pascalw

Bij Kabisa staat privacy hoog in het vaandel. Wij vinden het belangrijk dat er zorgvuldig wordt omgegaan met de data die onze bezoekers achterlaten. Zo zult u op onze website geen tracking-cookies vinden van third-parties zoals Facebook, Hotjar of Hubspot. Er worden alleen cookies geplaatst van Google en Vimeo. Deze worden gebruikt voor analyses, om zo de gebruikerservaring van onze websitebezoekers te kunnen verbeteren. Tevens zorgen deze cookies ervoor dat er relevante advertenties worden getoond. Lees meer over het gebruik van cookies in ons privacy statement.