Wat hebben een astronaut en een Kubestronaut gemeen? Allebei maken ze een bijzondere reis vol uitdagingen, al gaat de een de fysieke ruimte in en de ander de digitale cloud. Beide reizen vragen om stevige training en doorzettingsvermogen. Mijn eigen reis naar Kubestronaut begon met het behalen van mijn CKA certificering, en in dit blog deel ik hoe die eerste stap verliep.
Wat is Kubestronaut?
Kubestronaut is een titel die je krijgt als je de vijf Kubernetes certificeringen hebt behaald. Onder de Cloud Native Computing Foundation, CNCF in het kort, is dit een hoog aangeschreven titel voor de platform engineers die zich bezig houden met Kubernetes. Het gaat om deze certificaten:
- CKA – Certified Kubernetes Administrator
- CKAD – Certified Kubernetes Application Developer
- CKS – Certified Kubernetes Security Specialist
- KCNA – Kubernetes and Cloud Native Assiociate
- KCSA – Kubernetes and Cloud Native Security Associate

Een ander eis is dat je deze certificeringen binnen een jaar moet behalen want een behaalde certificaat is maar een jaar geldig. Dus de titel moet behaald worden wanneer alle vijf certificeringen nog geldig zijn.
Iets over mij
Ik ben Saleem en via deze blog neem ik jullie mee in mijn reis tot het behalen van mijn Kubestronaut titel. Ik heb een bachelor in informatica, en in de afgelopen 5 jaar heb ik in de rollen full-stack software engineer, DevOp engineer, en platform engineer heb gewerkt. Ik heb ervaring in verschillende programmeertalen, heb erg veel met containers gewerkt (en ook anderen geholpen), en ik werk graag in teamverband. Ik houd ook van gamen. Mijn favoriete spel is Overwatch, een 5vs5 online shooter waarbij je gebieden moet veroveren of een auto moet escorteren naar de overkant.

Op dit moment werk ik bij Softwaredam als platform engineer. Ik werk heel veel met onze Kubernetes clusters en containers. Van het helpen van klanten om hun applicaties te containerizen en op Kubernetes te runnen, tot het bouwen en onderhouden van Kubernetes clusters, tot gedetacheerd worden in een rol rondom Kubernetes doen ik allemaal. Kubernetes komt dus sterk terug in het DNA van Softwaredam.
Ik heb aardig wat jaren met Kubernetes gewerkt, vooral als developer voor en op een k8s cluster. Om Kubernetes ook van onderen goed te begrijpen en te kunnen beheren werd ik gevraagd om CKA te doen, en in de gesprekken hoorde ik van Kubestronaut. Ik was meteen verkocht en wilde graag dit halen.
De eerste stap: CKA certificering
Mijn training begon met CKA certificering. Dat dacht ik ten minste. Ergens in al die afkortingen was ik met CKAD begonnen ipv CKA. We vonden het belangrijk om toch eerst voor CKA te gaan want deze brengt voor mij veel waarde, omdat ik als developer al veel ervaring heb. Gelukkig komen de trainingsstof tot bijna de helft met elkaar overeen. CKA certificering is echter veel langer, grondiger en moeilijker. CKA leert juist de onderkant van Kubernetes.


Hoe werkt het nou? De certificering en training?
De certificering wordt gedaan door The Linux Foundation. Daar kan je jezelf aanmelden om een certificering te doen. Hier hebben we de Kubestronaut certificeringspakket aangeschaft.
The Linux Foundation bied ook trainingen aan voor de certificeringen maar dit is een stukje duurder, dan pla†formen zoals Udemy bijvoorbeeld.
De voorbereiding en training deed ik bij Udemy door Kodekloud. Het kost een paar tientjes voor een complete CKA training, inclusief een online omgeving waar je met een Kubernetes clusters kan oefenen. Dit is natuurlijk geweldig! Je bent dan niet alleen maar video’s aan het kijken maar daadwerkelijk je training aan het toepassen in een oefen omgeving. Dat is toch geweldig!
Hoe heb ik het ervaren?
Ik heb vaker trainingen gedaan via Udemy dus dat was niet bijzonder voor mij. Maar het is misschien ook goed om te weten dat ik nooit zoiets als een daadwerkelijke certificering heb gedaan en ik dus ook niet wist wat ik kon verwachten. Ik heb Youtube video’s gekeken en Reddit posts zitten lezen van mensen die de CKA certificering hebben gedaan en gehaald.
Pas toen ik bij het punt aan kwam waar ik kon inloggen in een online Kubernetes omgeving werd ik weggeblazen. Ik had nooit zo een goeie training gevolgd waarbij je ook hands-on kon oefenen. Elke belangrijke aspect waar de CKA certificering naar vraagt werd je aangeleerd. Ook bepaalde Kubernetes tools die je als ontwikkelaar heel vaak tegen komt, zoals Helm of Kustomize kwamen beiden ook zeer uitgebreid aan bod. Voor mij was de training heel goed te volgen met goede behapbare video’s. De training bestond ongeveer uit 250+ video’s van ongeveer vijf minuten. Dus als het op een gegeven moment te veel werd of je hebt genoeg gezien voor vandaag dan kan je makkelijk stoppen.
Hoe heb ik me voorbereid voor de certificering?
De Udemy training bevatte ook oefen examens waar je in ongeveer een uur tijd een stuk of tien vragen moest beantwoorden. Dit zijn geen multiple choice vragen maar daadwerkelijke Kubernetes opdrachten.
Wat bedoel ik hiermee?
Zie het voor je alsof je een daadwerkelijke Kubernetes admin bent en er gaat iets kapot. Bijvoorbeeld een Pod is onbereikbaar of twee van de drie Pods zijn uitgerold maar de derde is afwezig. Jouw opdracht is dan om uit te vogelen wat er aan de hand is en het probleem te verhelpen. Je moet dus echt gaan debuggen en het repareren. Dit gebeurt ook allemaal bij de certificering.
Naast het gebruik maken van de oefen examens van de Udemy training heb ik ook twee Killer.sh sessies gekregen van The Linux Foundation toen ik me had aangemeld voor de CKA certificering. Deze sessies lijken exact hetzelfde als de certificering zelf maar dan met andere vragen natuurlijk. De Killer.sh is een oefen omgeving dat de CKA certificering moet simuleren. Zodra je je aanmeld krijg je een remote desktop omgeving van Linux, een terminal, een browser en een aantal kapotte Kubernetes clusters. Je krijgt twee uur de tijd om zo veel mogelijk elementen binnen de cluster te repareren. Na de twee uur, de tijd van de echte certificering, kan je door gaan om verder te oefenen of je kan je score alvast bekijken om te zien waar je fout zat en wat je dus nog beter moet oefenen.
Naar mijn mening is Killer.sh de beste plek om te kijken of je daadwerkelijk klaar bent voor de echte certificering, Je krijgt twee sessies van The Linux Foundation zelf maar als je behoefte hebt aan meer kan je meerdere sessies los bijkopen.
De CKA certificering zelf
Ik had het gevoel dat ik goed genoeg had voorbereid om de certificering te doen. Ik heb bij The Linux Foundation een datum geprikt om me te laten certificeren en ben gaan oefenen met Udemy en Killer.sh.
De tijd was aangebroken om de certificering te doen. Ik installeerde de benodigde browser waarin je je certificering moest doen, meldde me aan, deed de inspectie en ging aan de slag!
Het spannende gedeelte was de kamer inspectie. Je zit voor het examen met een proctor te chatten via een live chat. De proctor vraagt of je allemaal dingen wilt doen, bijvoorbeeld je tafel laten zien en de muren laten zien dat er geen bepaalde dingen op de muur hangen die niet zijn toegestaan. Een aantal dagen er voor had ik tijdens een meeting wat post-it notes gebruikt en geplakt op de muur. De proctor zag dat en vroeg of ik dus alle post-its weg kon halen. Nadat de inspectie klaar was mocht ik door en beginnen aan het examen.
Het examen zelf was een remote desktop omgeving van Linux met een terminal en een browser en wat andere dingen. Het examen is namelijk een open boek examen. De browser mocht je dus gebruiken om naar de Kubernetes documentatie te gaan. Het examen bestond uit een stuk of zeventien vragen en je kreeg twee uur de tijd om ze te maken. Sommige vragen waren simpel bijvoorbeeld een Helm upgrade uitvoeren of een bepaalde Pod uitrollen op Kubernetes met bepaalde specificaties. Andere vragen waren weer lastig zoals uitzoeken wat de Pod IP CIDR blok is(ik ben niet de beste als het gaat om computernetwerken) of het debuggen van waarom de kube-apiserver niet bereikbaar is.
Na 24 uur kreeg ik mijn uitslag via de mail met “Congratulations!” en kreeg ik mijn certificaat! We hebben met Softwaredam daarna een lekkere lunch gegeten en is mijn doel gezet naar de volgende certificaat, CKAD!

Mijn tips voor de CKA certificering?
Ten eerste doe zo veel mogelijk oefenexamens. Het doel is om zo veel mogelijk problemen op te lossen dus als je veel verschillende problemen hebt kunnen oplossen is de kans enorm dat je het gemakkelijk gaat halen.
Een ander tip is, wees comfortabel in de terminal. Dit is de enige plek waar je de opdrachten kan oplossen dus leer de terminal. Leer hoe je een alias kan maken om zo veel mogelijk tijd te besparen met het typen. Ik heb bij het examen twee aliassen gemaakt waarvan eentje eigenlijk al bestond:
alias k=kubectl
export dry="--dry-run=client -oyaml"
k get pods
k create sa softwaredam $dry
En mijn laatste gouden tip is word een beest in Nano of Vim. Dit zijn de enige twee editors die je mag gebruiken dus leer hoe je moet copy-pasten, leer hoe je kan zoeken, leer hoe je snel naar bepaalde regel nummers kan. Ongeveer 70% van de examen is in een terminal text editor dus wees er comfortabel in.
Bonus tip: Gebruik :q om uit Vim te gaan 😉

Nu je de certificaat hebt, heeft CKA ook daadwerkelijk wat toegevoegd?
Ja! Voor mij heeft het veel inzicht gegeven in hoe Kubernetes achter de schermen werkt. Ik heb veel ervaring als Kubernetes gebruiker, maar nu weet ik ook hoe het onderwater werkt, en sterker nog hoe ik het kan managen.
Ik weet nu hoe ik zelf een complete Kubernetes cluster kan opzetten en wat je daarvoor allemaal moet hebben. Bijvoorbeeld een container runtime. Container runtimes zijn nodig voor Kubernetes omdat je anders geen Pods er op kan draaien.
Een ander onderwerp wat ik geleerd heb is uit wat voor hoofdonderdelen Kubernetes nou eigenlijk bestaat. Je hebt dus de API server waar de kubectl CLI tegen aan praat of je kan er zelf tegen aan praten via curl. De scheduler die bepaalt waar welke Pods mogen komen en of er op de node genoeg CPU en Memory beschikbaar is.
De etcd database key-value store database waar Kubernetes zijn state bewaart. Als er een nieuwe Deployment op Kubernetes komt dan moet Kubernetes ergens de specificatie opslaan. Bijvoorbeeld hoeveel replica’s de Deployment heeft of wat de naam is van de Deployment. Al deze informatie wordt opgeslagen in de etcd database van Kubernetes.
De controller manager houdt de state van Kubernetes bij en doet een constante vergelijking met de desired state. Als je als ontwikkelaar of administrator een nieuwe Pod uitrolt dan verandert de desired state, want je wilt een nieuwe Pod. De controller manager ziet dat de desired state is veranderd en gaat dan aan de slag en praat met andere Kubernetes services om de desired state te bereiken. En als laatste hebben we de kube-proxy.
De kube-proxy is een service voor Kubernetes dat het netwerk gedeelte van Kubernetes in de gaten houdt. Pods hebben geen vaste IP adressen en maakt het dus bijna onmogelijk om direct tegen eentje aan te praten. Als een Pod neer gaat en er komt een nieuwe in de plaats door bijvoorbeeld een update naar een nieuwe versie of een crash, dan krijgt de Pod ook een nieuwe IP adres. Hier komt de kube-proxy om het probleem op te lossen door middel van Kubernetes services. De kube-proxy houdt constant het Kubernetes netwerk in de gaten voor veranderingen. Als er een service bij komt of weg gaat dan worden de Kubernetes netwerk regels aangepast naar de nieuwe staat. Wanneer er een netwerk verzoek komt naar een specifiek IP adres op een specifieke poort dan ontvangt de kube-proxy het verzoek, vergelijkt het met de Kubernetes services en als het IP adres overeenkomt met wat er in de Kubernetes service is gedefinieerd dan herschrijft de kube-proxy het IP adres naar de juiste Pod(s) IP adres. Dit is hoe de kube-proxy er voor zorgt dat de Pods in Kubernetes bereikbaar worden van buiten af.
Dit zijn de hoofdelementen van Kubernetes. De certificering leert je het opzetten van clusters via een tool genaamd kubeadm. Het is een Kubernetes cluster management tool. Er zijn veel meer soorten management tools dan alleen kubeadm. Maar wat ik heel grappig vond hier van is dat al de eerder genoemde hoofdelementen van Kubernetes ook draaien als Pods. Dus Kubernetes draait in Kubernetes 🤯.
Hoe heeft Softwaredam mij hier allemaal in ondersteund
Softwaredam heeft eigenlijk alles voor mij geregeld. Van de in-house en online training tot aan de certificering, de begeleiding en de tijd die ik nodig had. De rest ligt bij jezelf. Ik heb twee weken lang lopen leren en oefenen voordat ik besloot om de certificering te doen. Alles is in een keer gelukt en dat betekent dat het zeker haalbaar is voor iedereen!
Ik zie jullie weer nadat ik mijn CKAD heb behaald!
Update 6 juli: Ik heb inmiddels ook mijn CKAD certificaat. Lees mijn blog hier over CKAD.