1. Wat is Kubernetes?
Kubernetes (korte benaming: K8S) is een draagbaar, uitbreidbaar open-sourceplatform voor het beheer van workloads in containers en services, dat zowel configuratie als automatisering mogelijk maakt. Het heeft een groot, snel groeiend ecosysteem. De services, support en tools van Kubernetes zijn overal beschikbaar.
Google heeft het Kubernetes-project in 2014 opengesteld. Kubernetes bouwt voort op meer dan 10 jaar ervaring die Google heeft met het op grote schaal uitvoeren van productie-workloads, gecombineerd met de meest creatieve ideeën en werkwijzen van de community.
2. Eerst even de basis
Om te weten waarom Kubernetes de virtuele wereld aan het veroveren is, zijn er enkele zaken die je moet weten. Kubernetes is een complex geheel, bestemd voor mensen die knowhow hebben in een technische omgeving. Toch zal ik proberen dit zo eenvoudig mogelijk uit te leggen.
2.1 Meerdere Virtual Machines?
Wanneer je een applicatie op een server in de cloud wil draaien, plaats je een applicatie in een Virtual Machine (VM). Deze doet zich voor als een fysieke computer, zodat het voor de applicatie lijkt alsof het op een echt systeem draait. De VM focust zich op de hardware van een pc en draait daarbovenop een besturingssysteem, zoals Windows of Linux.
Maar om aan een grotere vraag tegemoet te komen, draaien we meerdere instanties van de app. Normaal doe je dit door nieuwe VM’s te creëren. Maar dit vraagt veel rekenwerk van de server en dus ook meer budget.
2.2 Containers zijn een betere oplossing
Er is een betere manier om een grotere applicatie op een server in de cloud te laten draaien: het gebruik van “Containers”. Containers zijn in feite slimme “light” VM’s die in plaats van een hele pc te draaien, alleen op de noodzakelijke onderdelen focussen. Op deze manier wordt de applicatie in een container geplaatst met enkel de hoogstnoodzakelijke functies, om zo performant mogelijk te presteren. Docker is het bekendste en wereldwijd meest gebruikte voorbeeld van containertechnologie.
2.3 Voordelen van containers
Voordelen van Containers:
- Kan overal draaien: lokaal, staging, productie, ... zolang Docker is geïnstalleerd
- Kleiner, lichter: makkelijk te verplaatsen van omgeving, neemt minder resources in beslag, efficiënter
- Easy deployment: alles wat de applicatie nodig heeft, draait in de container dus je moet enkel nog je container opzetten
- Makkelijk in beheer: draai meerdere technologieën heel makkelijk op één en dezelfde omgeving. Upgraden van versie is niet meer dan een nieuwe container doen draaien.
- Schaalbaarheid: er kunnen makkelijk meerdere containers draaien van één en dezelfde applicatie, om de load te kunnen verdelen.
2.4 Nadelen van containers
Het beheren van containers is doenbaar, zelfs als we het er over tientallen hebben. Maar wanneer we het over 1000 of meer instanties van een applicatie hebben, is het pure overkill voor 1 IT-beheerder. En dat is net de keerzijde van de medaille.
2.4.1 Hoezo overkill?
Om kostenefficiënt te blijven bij het draaien van meer dan 1000 instanties, moeten alle workloads zo efficiënt mogelijk verdeeld worden over de beschikbare hardware. Bovendien moet dit systeem blijven draaien en daarom is een performante oplossing onontbeerlijk.
3. Kubernetes for the win!
Hier komt Kubernetes in beeld. Kubernetes is een Grieks woord en staat voor ‘Stuurman van het schip’. Het laat een administrator toe om heel eenvoudig containers uit te rollen en neemt het management van de uitgerolde containers in het datacenter op zich.



