Heb je Kubernetes nodig? Een beslisgids
Kort antwoord
Niet automatisch. Kubernetes is de complexiteit waard zodra je auto-scaling, rolling updates, self-healing en service discovery nodig hebt voor een flink aantal bewegende onderdelen, ruwweg vanaf het punt waarop je 20 of meer containers beheert. Daaronder is docker-compose op een of twee VPS- of dedicated-instances vaak echt genoeg. Voeg Kubernetes toe zodra je de specifieke pijn voelt die het oplost, niet standaard.
Begin bij "nee" en laat de workload je overtuigen
Het is verleidelijk om voor Kubernetes te kiezen, want het is het standaardantwoord in veel tutorials en vacatures. In de praktijk werkt docker-compose op een of twee VM's prima voor een kleine stack. Het punt om Kubernetes toe te voegen is wanneer je geautomatiseerde scaling, self-healing en gestandaardiseerde rollouts nodig hebt, niet eerder.
Dat is een bewust conservatief uitgangspunt. Kubernetes doet niets voor een workload wat een goed geconfigureerde VPS of dedicated server met docker-compose op kleine schaal niet al kan. Wat het toevoegt, is een control plane dat scheduling, herstarts en rollout-coördinatie voor je regelt, zodra het aantal bewegende onderdelen dit met de hand doen pijnlijk maakt.
Wat Kubernetes je echt oplevert
Kubernetes helpt bij scheduling en isolatie, maar voegt complexiteit toe. Als je team niet vaardig is in de dagelijkse k8s-operatie, is een simpeler en voorspelbaarder platform meestal de betere keuze.
De functies die de extra complexiteit de moeite waard maken, komen meestal samen voor, niet één voor één:
- Auto-scaling, capaciteit toevoegen of verwijderen op basis van load, zonder dat iemand een dashboard hoeft te bewaken.
- Rolling updates, nieuwe versies uitrollen zonder harde overgang of downtime-venster.
- Service discovery, services vinden elkaar op naam, ook als instances komen en gaan.
- Self-healing, mislukte containers worden automatisch opnieuw ingepland, in plaats van dat je er om 3 uur 's nachts voor wakker wordt gebeld.
Als je die combinatie nodig hebt en genoeg services draait (als vuistregel: 20 of meer containers) waarbij handmatige coördinatie het knelpunt is geworden, dan is het moment om voor container-orchestratie te kiezen. Voor kleinere deployments is docker-compose vaak genoeg.
De overhead waar je voor tekent
Kubernetes is niet gratis, zelfs voordat je workloads draaien. Het control plane van een cluster heeft ruwweg 2 tot 4GB RAM nodig per master node, plus 100 tot 300MB per worker node voor systeem-pods (kube-proxy, CNI-agents en de rest). Reken als planningsregel op ongeveer 20% extra capaciteit voor het platform zelf, etcd, het control plane en systeem-pods, bovenop wat je applicaties nodig hebben. Dat is capaciteit die je betaalt en beheert, niet capaciteit die je applicatie mag gebruiken.
Er is ook een operationele kost, los van de resourcekosten: iemand in je team moet upgrades, node draining, RBAC en de faalmodi van een gedistribueerde scheduler begrijpen. Die kennisvereiste staat niet op een factuur, maar is wel reëel. En het is de belangrijkste reden om jezelf eerlijk af te vragen "heb ik Kubernetes nodig?" in plaats van standaard ja aan te nemen.
Een simpele checklist
| Signaal | Een simpelere opzet is waarschijnlijk juist | Kubernetes is waarschijnlijk de moeite waard |
|---|---|---|
| Aantal services | Een handjevol, draaiend op een of twee hosts | Genoeg om handmatige herstarts en rollouts tot een knelpunt te maken |
| Deploy-patroon | Af en toe een release, wat downtime is acceptabel | Frequente releases, rolling updates zijn belangrijk |
| Scaling-behoefte | Vaste of handmatig aangepaste capaciteit is voldoende | Load varieert genoeg dat geautomatiseerde scaling zichzelf terugverdient |
| K8s-vaardigheid van het team | Beperkt, niemand is eigenaar van de cluster-operatie | Iemand kan eigenaar zijn van upgrades, RBAC en incident response |
| State | Databases en andere stateful services domineren de stack | Vooral stateless services, waarbij state bewust wordt afgehandeld |
Land je vooral in de linkerkolom? Dan is docker-compose op Flexible VPS of een dedicated server een redelijke, saaie keuze, en saai is meestal precies wat je wilt in productie. Land je vooral in de rechterkolom? Bekijk dan Kubernetes-cluster sizing voor hoge beschikbaarheid voor hoe een minimaal levensvatbaar cluster eruitziet.