Onlangs heb ik met succes het examen Certified Kubernetes Application Developer (CKAD) afgelegd en het certificaat behaald. Vandaag wil ik vertellen over de certificeringsprocedure en hoe ik me daarop heb voorbereid. Voor mij was het een interessante ervaring om online examen te doen onder nauwlettend toezicht van de examinator. Dit artikel bevat geen waardevolle technische informatie en heeft een puur verhalend karakter. Ik had ook niet veel ervaring met Kubernetes en heeft niet in samenwerking met collega's voorbereid; ik heb zelf geleerd en geoefend in mijn vrije tijd.
Ik ben nog relatief nieuw in de webontwikkeling, maar ik begreep meteen dat je zonder zelfs de meest elementaire kennis van Docker en K8s niet ver komt. Het volgen van een cursus en de voorbereiding op dit soort examens leken me een goede ingang in de wereld van containers en hun orkestratie.
Als je nog steeds denkt dat Kubernetes te ingewikkeld is en dat het niets voor jou is, lees dan verder.
Wat is dit?
Er zijn twee soorten certificering voor Kubernetes van de Cloud Native Computing Foundation (CNCF):
- Certified Kubernetes Application Developer (CKAD) — toets van de vaardigheden om cloud native-applicaties voor Kubernetes te ontwerpen, bouwen, configureren en publiceren. Het examen duurt 2 uur, bevat 19 vragen, met een vereiste score van 66%. Een oppervlakkige kennis van de basisprincipes is vereist. Kosten $300.
- Certified Kubernetes Administrator (CKA) — toets van vaardigheden, kennis en competenties om de taken van Kubernetes-beheerders uit te voeren. Het examen duurt 3 uur, bevat 24 vragen, met een vereiste score van 74%. Hiervoor zijn diepere kennis van systeemopbouw en configuratie vereist. Kosten ook $300.
De certificeringsprogramma's CKAD en CKA zijn ontwikkeld door de Cloud Native Computing Foundation om het Kubernetes-ecosysteem uit te breiden door middel van gestandaardiseerde training en certificering. Deze stichting is opgericht door Google in samenwerking met de Linux Foundation, die Kubernetes oorspronkelijk als technologisch bijdroeg en wordt ondersteund door bedrijven zoals Microsoft, Apple, Facebook, Cisco, Intel, Red Hat en vele anderen (c) Wiki.
Kortom, dit zijn examens van de 'hoofdorganisatie' voor Kubernetes. Natuurlijk zijn er ook certificeringen van andere bedrijven.
Waarom?
Dit is waarschijnlijk het meest controversiële punt in dit hele verhaal. Ik wil de discussie over de noodzaak van certificaten niet aanzwengelen, maar ik hoop gewoon dat het hebben van een dergelijk certificaat mijn waarde op de arbeidsmarkt positief zal beïnvloeden. Alles is subjectief – je weet nooit wat werkelijk het keerpunt zal zijn in de beslissing om je aan te nemen.
PS: Ik ben niet op zoek naar werk, ik ben momenteel tevreden... tenzij het gaat om een verhuizing naar de VS.
Voorbereiding
In de CKAD-test zijn er 19 vragen die over de volgende onderwerpen zijn verdeeld:
- 13% – Kernconcepten
- 18% – Configuratie
- 10% – Multi-container Pods
- 18% – Observeerbaarheid
- 20% – Pod-ontwerp
- 13% – Diensten & Networking
- 8% – Statuspersistentie
Op het platform Udemy is er een fantastische cursus van een Indiase naamgenoot, Mumshad Mannambeth (de link komt aan het einde van het artikel). Werkelijk zeer kwaliteitsmateriaal voor een kleine prijs. Vooral het feit dat je tijdens de cursus praktische oefeningen in een testomgeving kunt doen, is geweldig; zo ontwikkel je vaardigheden in de console.
Ik heb de volledige cursus afgerond en alle praktische oefeningen gedaan (het was soms moeilijk niet in de antwoorden te spieken), en voor het examen heb ik alle lezingen nogmaals op hogere snelheid doorgenomen en de laatste twee proefexamens (mock exams) opnieuw gemaakt. Dit kostte me ongeveer een maand in een rustig tempo. Dit materiaal was voldoende voor mij om het examen met 91% te halen. Bij één opdracht maakte ik een fout (NodePort werkte niet) en ik had enkele minuten te kort om nog een andere opdracht met een ConfigMap uit een bestand af te maken, hoewel ik de oplossing wist.
Hoe het examen verloopt
Het examen vindt plaats in de browser, met een ingeschakelde webcam en een gedeeld scherm. De examenregels vereisen dat er geen andere mensen in de kamer zijn. Ik deed het examen toen het land al in zelfisolatie was, dus het was belangrijk voor me om een rustig moment te vinden zodat mijn vrouw niet binnenkwam of mijn kind niet zou schreeuwen. Ik koos voor de diepe nacht; gelukkig was de tijdkeuze beschikbaar naar ieders voorkeur.
Aan het begin van het examen vraagt de examinator je om je primaire ID met foto en naam (in het Latijns schrift) te tonen – bij mij was dat een paspoort, en om de webcam op mijn bureau en de kamer te richten om te controleren op afwezigheid van vreemde voorwerpen.
Tijdens het examen is het toegestaan om nog een tabblad van de browser open te houden met een van de bronnen:, of . Voor mij was dit de documentatie, die was meer dan voldoende.
In het hoofdvenster, naast de tekst van de opdrachten, de terminal en de chat met de examinator, is er ook een notitievenster beschikbaar waarin je belangrijke namen of commando's kunt kopiëren – ik heb dit een paar keer nodig gehad.
Tips
- Gebruik aliassen om tijd te besparen. Dit is wat ik gebruikte:
export ns=default # variabele voor de namespace alias ku='kubectl' # verkort de hoofdcommando alias kun='ku -n=$ns' # kubectl + namespace alias kudr='kun --dry-run -o=yaml' # zeer nuttige flags om yaml-beschrijvingen voor objecten te genereren - Vergeet de combinatie van flags voor de opdracht niet (hetzelfde proces als, zodat je snel yaml kunt genereren voor verschillende objecten – pod/deploy/job/cronjob (hoewel het niet absoluut noodzakelijk is om ze te onthouden; je kunt gewoon de hulp bekijken met de flag -h):
kudr run pod1 --image=nginx --restart=Never > pod1.yaml kudr run deploy1 --image=nginx > deploy1.yaml kudr run job1 --image=nginx --restart=OnFailure > job1.yaml kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*/1 * * * * " > cronjob1.yaml - Gebruik afgekorte namen voor bronnen:
ku get ns # in plaats van namespaces ku get deploy # in plaats van deployments ku get pv # in plaats van persistentvolumes ku get pvc # in plaats van persistentvolumeclaims ku get svc # in plaats van services # enz., de volledige lijst kun je bekijken met de opdracht: kubectl api-resources - Beheer je tijd goed om alle opdrachten te voltooien, blijf niet te lang bij iets hangen, sla vragen over en ga verder. In het begin dacht ik dat ik de opdrachten in een zeer hoog tempo uitvoerde en het examen vroeg zou beëindigen, maar uiteindelijk had ik twee opdrachten niet af. In werkelijkheid is de tijd voor het examen zeer krap en zijn die 2 uur gevuld met spanning.
- Vergeet niet om de context te wisselen – aan het begin van elke opdracht wordt er een commando gegeven om te schakelen, zodat je in het juiste cluster kunt werken.
Let daarnaast ook op de namespace. Hiervoor gebruikte ik nog een hack:alias kun='echo namespace=$ns && ku -n=$ns' # bij het uitvoeren van elke opdracht werd als eerste regel mijn huidige namespace weergegeven - Haal de certificering niet overhaast in huis, wacht op kortingen. De cursusaanbieder stuurt vaak kortingscodes van 20-30% per e-mail.
- Leer eindelijk vim 🙂
Links:
- — de eigenlijke certificeringspagina
- — een zeer goede cursus ter voorbereiding, alles is duidelijk en met illustraties
- — nuttige links en aantekeningen over het examen
- — verslag van collega's op Habr over het afleggen van het moeilijkere CKA-examen
Bron: habr.com
