Het vertrekpunt
Met de hand geconfigureerde servers rond een aanzet tot een Docker Swarm-cluster. Het resultaat voldeed aan geen enkele verwachting, en het team moest zelf veel ontwikkelen van wat een moderne orchestrator standaard biedt: services herstarten, schalen, configuratiebeheer.
Wij werkten als onderaannemer van de softwarepartner van de klant.
De uitdaging
Kubernetes laten draaien zonder internet, zowel bij de installatie als in de dagelijkse werking, in een tijd waarin noch de tools noch de documentatie dit scenario dekten:
- installeren zonder toegang tot publieke repositories;
- een lokale image-registry hosten, tot en met de systeemimages die iedereen vergeet, zoals de pause-image achter elke pod;
- updaten zonder verbinding;
- en dat voor een team dat containerorkestratie nog moest ontdekken.
Het kritieke moment
Kubespray bood nauwelijks ondersteuning voor air-gapped installaties, en fouten doken laat op, soms diep in de tests. Elke correctie bracht een nieuw probleem aan het licht, tot het punt waarop tijdig opleveren onhaalbaar leek.
Wij veranderden van methode: een volledig geautomatiseerde opbouw van het platform, snel falen al op de machine van de ontwikkelaar, en een zeer uitgebreide testsuite die regressies tegenhield en de feedbacklus sterk verkortte.
Wat wij opleverden
- Een Kubernetes-cluster op maat, 100% offline: Kubespray, containerd, local-path-provisioner voor opslag, een ingebouwde Docker-registry.
- Een volledig declaratief platform: elke uitrol is een Ansible-playbook, geversioneerd in Git en automatisch toegepast. De klant kan het platform zelf herbouwen en laten evolueren.
- Schaalbaarheid: zonder de propriëtaire software van de klant aan te raken, verwerkt de applicatie nu een veel zwaardere belasting.
Resultaat
Een autonoom platform, ingezet in vrachtwagens over de hele wereld. De klant nam het over en bouwt er jaren later nog op verder. Hij had graag gehad dat wij bleven.
“Zonder jullie waren we er nooit geraakt.”
Als we het in 2026 opnieuw deden
Het ecosysteem is volwassen geworden. Vandaag zouden wij kiezen voor Talos Linux, een onveranderlijk OS gebouwd voor Kubernetes, Cilium voor netwerk en beveiliging, en CloudNativePG voor databanken. De aanpak zou dezelfde blijven: alles declaratief, alles getest, niets met de hand.

