Hoe de Kubernetes CKAD-certificering te verslaan

Ik betwijfel of IT-certificeringen ooit de 'expertise' van iemand in een bepaalde tool zullen aantonen, omdat succesvol zijn bij een examen nooit zal aantonen dat je een expert bent. Maar deze certificeringen kunnen in ieder geval als een goede uitdaging worden gezien en ik heb mezelf altijd tot doel gesteld om er elk jaar een paar te halen. De twee baby's waarop ik me richt zijn de Certified Kubernetes Administrator (CKA) en de Certified Kubernetes Application Developer (CKAD). Ik heb laatst gisteren gewist.

In dit mediumverhaal, dat trouwens mijn eerste is op het platform, geef ik mijn feedback met zoveel details als ik me kan herinneren over het Certified Kubernetes Application Developer (CKAD) examen om u te helpen slagen als u van plan bent het te proberen spoedig.

Inschrijven voor het examen

Examen kost 300 $ en deze prijs is inclusief één herkansing voor het geval dat u bij uw eerste poging faalt. Ga naar hun website en volg het proces en voltooi de bestelling. Om de een of andere reden kan het enkele minuten duren voordat het examen op uw profiel verschijnt nadat u de bestelling hebt voltooid.

U moet dan uw examen plannen, dat maximaal 2 uur duurt.

Examenformaat

Het examen bestaat uit het oplossen van 19 problemen in 2 uur. Vier Kubernetes-clusters zijn ingericht en u moet met kubectl tussen elke cluster schakelen.

Elke vraag verwijst naar een gegeven cluster, dus lees de vraag aandachtig en gebruik telkens als u daarom wordt gevraagd de kubectl config use-context . Anders voert u opdrachten in op het verkeerde cluster. U kunt SSH op alle knooppunten gebruiken met de opdracht ssh. En krijg een root-account met de opdracht sudo -i.

Je moet 66% scoren om het examen af ​​te leggen, dus het is zeer haalbaar.

Binnen 36 uur na een examen ontvang je je score per e-mail en een PDF-certificering zoals deze als je slaagt.

Dit zijn de onderwerpen waarop de certificering betrekking heeft en het bijbehorende gewicht:

  • Kernconcepten - 13%)
  • Multi-container pods - 10%
  • Podontwerp - 20%
  • Configuratie - 18%
  • Waarneembaarheid - 18%
  • Diensten en netwerken - 13%
  • Staatspersistentie - 8%

Zoals u kunt zien, heeft CKAD betrekking op "Het gebruik van een Kubernetes-cluster dat ooit al is ingericht", terwijl CKA betrekking heeft op "Een Kubernetes-cluster zelf inrichten". Als u CKAD wilt passeren, is het nutteloos om te leren hoe u etcd gebruikt of de kube-apiserver installeert of andere soortgelijke dingen. Het richt zich in wezen op het gebruik van de kubectl CLI-tool.

Examenomgeving

U gaat thuis naar het examen en u kunt slechts één applicatie openen: Google Chrome. De examenomgeving bestaat uit een laggy en buggy web-gebaseerde terminalsessie. Serieus, het zuigt helemaal. Verwacht niets geweldigs van de examenomgeving, het helpt je op geen enkele manier, maar het is nog steeds bruikbaar.

Je wordt helemaal in de gaten gehouden door een medewerker van CNCF, die via een chat met je zal communiceren. Je ziet hem helemaal niet. Hij sympathiseert niet met u en blijft professioneel, maar hij is beleefd en zal u vriendelijk antwoorden. Je kunt hem vragen hoe hij de examenomgeving moet gebruiken en hij zal antwoorden, maar hij geeft je geen advies over de exameninhoud zelf, dus onthoud dergelijke vragen. Je webcam en microfoon zijn ingeschakeld zodat hij je kan zien en horen. Er is een sessie op een gedeeld scherm actief zodat hij uw bureaublad kan zien. U moet daarvoor een speciale plug-in in uw Google Chrome-browser installeren.

Een belangrijk ding is dat je moet gehoorzamen aan alles wat hij vraagt ​​(houd je hoofd koel, hij vraagt ​​je niet om je onderdelen te laten zien). Maar er zijn enkele regels om te volgen:

  • Je moet alleen in de kamer zijn;
  • De kamer moet stil zijn;
  • U wordt gevraagd om uw omgeving te tonen door de camera langzaam om u heen te draaien;
  • Je moet hem een ​​geldige, door de overheid uitgegeven identiteitskaart tonen;
  • Het is u verboden om iets anders op uw bureau naast uw computer te plaatsen. Geen drank, geen eten en absoluut geen elektronisch apparaat;
  • Je kunt niet praten, woorden fluisteren. Lees geen vragen hardop, u moet zwijgen;
  • Het is u verboden uw hand op uw mond te leggen, uw gezicht moet altijd volledig zichtbaar blijven;

Voor het laatste punt deed ik het per gewoonte uit gewoonte, en de proctor vertelde me onmiddellijk mijn hand uit mijn mond te halen. Dus ja, ze houden je echt in de gaten.

Als je wordt gewaarschuwd zoals ik was, probeer dan niet hetzelfde gedrag te reproduceren en het zou goed moeten zijn. Houd er rekening mee dat hij het recht heeft om het examen te beëindigen en u te allen tijde zonder enige waarschuwing te diskwalificeren, dus wees beleefd en wees coöperatief wanneer hij u iets vraagt. De chat verdwijnt na een paar seconden, maar hij verschijnt wanneer hij je een bericht stuurt, je mag geen instructie missen.

Als je niets te verkeerd hebt gemaakt, laat hij je het examen afleggen. De examenverificaties zijn geautomatiseerd, maar houd er rekening mee dat ze de video bewaren en dat een mens de video's mogelijk controleert op aanvullende verificaties.

Soort vragen en tips

Weet je shit, ik bedoel voor ECHT

Het examen is niet zo moeilijk, maar je moet Kubernetes echt kennen, je kunt het niet vervalsen. Als je Kubernetes niet echt kent, probeer het dan niet eens. Het is geen soort examen waarbij je dingen kunt vervalsen door uit je hoofd te leren, je moet de commando's typen, communiceren met echte Kubernetes-clusters, debuggen, begrijpen wat er gebeurt, etc. Praktijk is alles hier.

Nogmaals: dit is geen ingewikkeld examen. Weet hoe je Kubernetes moet gebruiken en dat lukt je zonder enige problemen.

Weet waar u informatie kunt vinden

Ik bedoel niet met Google, niet alleen omdat het verboden is tijdens het examen, maar gewoon omdat een eenvoudige kubectl -h je veel meer kan helpen dan surfen op het web of de kubernetes.io/docs.

Prioriteit geven aan vragen IS de sleutel

Mensen via internet beweren dat dit examen een kwestie van snelheid is. Het is niet vals, maar ik denk niet dat tijdmanagement de sleutel tot succes is.

Als je het vergelijkt met AWS-certificeringen waarbij je 55 vragen binnen 2 uur moet invullen, zie je het verschil. Hier moet u slechts 19 vragen in twee uur invullen, en sommige zijn erg kort en kunnen binnen een minuut worden beantwoord. Wat mijzelf betreft, ik beantwoordde 15/19 vragen na het eerste uur, en ik had nog een uur over voor de laatste 4 vragen ...

Nogmaals, als je je onderwerpen serieus kent, betwijfel ik of je tijd te kort komt.

Voor mij is het juister om te zeggen dat de sleutel om te slagen bij dit examen is om uw vragen verstandig te prioriteren. Elke vraag heeft zijn eigen gewicht op de eindscore. Als u een vraag ziet die 10 +% weegt: dit is uw absolute prioriteit.

U moet prioriteiten stellen. Beantwoord eerst grote vragen en sla eenvoudig kleine vragen over (die met 2% - 3% van het gewicht) en ga er daarna op terug.

Het eerste uur is het belangrijkste

Na een uur typen van het commando kubectl zijn je hersenen en concentratie in principe dood. Dus probeer in het begin snel te zijn terwijl je nog vers bent. Je kunt een pauze aanvragen, maar de timer stopt niet. Wees snel en krijg wat vertrouwen in je eerste vragen om de resterende vragen te kunnen beantwoorden.

Gebruik de kladblokfunctie telkens wanneer u een vraag overslaat

Telkens wanneer u een vraag overslaat, gebruikt u de functie Kladblok om bij te houden welke vraag u hebt overgeslagen, het gewicht en het algehele onderwerp. (bijv. Vraag 14 = Staatsbehoud = 7%).

Je kunt de vragen niet onthouden, dus speel dat spel niet, gebruik het kladblok.

De vragen worden weergegeven in een vervolgkeuzemenu. U hebt op elk moment toegang tot elke vraag. Maar zodra een vraag is beantwoord, is het moeilijk om terug te komen vanwege de aard van Kubernetes. Pods verwijderen en ze op de juiste manier opnieuw maken is tijdrovend, dus probeer het direct goed te maken.

Kubectl uitleggen

Gebruik en misbruik deze opdracht: kubectl verklaren - -recursief. Het is een soort ingebouwde documentatie voor de YAML k8s manifest-bestanden. Als het moeilijk is om te onthouden waar een bepaalde sleutel in een YAML-manifest moet staan, gebruikt u kubectl-uitleg zonder naar de documentatie te gaan!

Kubectl uitvoeren - vlag opnieuw opstarten

50% van je succes is gebaseerd op DIE vlag. Het kan je veel tijd besparen, maar houd er rekening mee dat het uiteindelijk wordt verwijderd door de opdrachtregel van kubectl omdat het verouderd is.

Je gebruikt altijd de opdracht kubectl run. Het creëert in feite verschillende workloads / objecten op basis van wat u doorgeeft aan deze vlag.

kubectl run # zonder vlag maakt een implementatie

kubectl run - herstart = Nooit #Maakt een pod

kubectl uitvoeren - herstarten = OnFailure #Maakt een taak

kubectl run - herstart = OnFailure - schedule = ”* * * * *” # Creëert een cronjob

U kunt Service-implementatie ook koppelen met de vlag - expose. Sommige opties kunnen niet eenvoudigweg op de gebiedende manier worden opgegeven ... dus u moet een YAML-manifest genereren en het vervolgens bewerken, maar ...

Probeer NOOIT zelf YAML-manifesten te schrijven

Ten eerste: het is klote.

Ten tweede: het is vervelend.

Ten derde: het is tijdrovend.

Ten vierde: niemand op deze planeet typt graag YAML-bestanden en vindt het leuk.

Ten vijfde: het is de taak van een DevOps-ingenieur om dingen te automatiseren die klote, vervelend, tijdrovend zijn en dat niemand anders op de planeet wil doen. (Het bewijs dat we uiteindelijk vreemd zijn, omdat we om de een of andere reden nog steeds van ons werk houden en er gepassioneerd over zijn ...)

Dus! Gebruik —-dry-run -o -yaml Combineer het met de - herstart vlag tip, en je hebt een manier om een ​​typisch manifestbestand te genereren zonder iets te kopiëren / plakken.

kubectl run hallo - image = busybox - herstart = OnFailure - schedule = ”* * * * *” - dry-run -o yaml> cj.yaml

En je hebt een leuk Cronjob YAML-manifestbestand klaar om te worden toegepast of bewerkt! Op die manier hoef je die boilerplate niet steeds opnieuw te schrijven.

Die vlag lijkt echter niet te werken met PersistentVolume ... corrigeer me alsjeblieft.

Vergeet NOOIT die -n vlag te zetten

Alles wat u doet, moet in een gedefinieerde cluster worden gedaan, ja, maar het kan ook in een specifieke naamruimte worden gedaan. Vergeet dus niet een -n-vlag toe te voegen aan uw opdrachten. Dat soort gemiste details kunnen je score voor niets doden.

Bronnen die ik heb gebruikt

Ik werk aan een bedrijf dat Openshift gebruikt, dus ik heb veel coole collega's in de stemming van de k8. Dat soort omgeving kan je helpen.

  • Kubernetes in actie van Mario Luksa. Het boek is de heilige bijbel van Kubernetes, en het beantwoordt eigenlijk alle vragen die je hebt;
  • Of u nu wel of niet Kubernetes op het werk gebruikt, u moet toch ergens uw eigen cluster inrichten en ermee spelen. Probeer een bekende applicatie om te zetten naar een Kubernetes-applicatie. Het is zinloos om de Kubernetes van Kelsey Hightower op de moeilijke manier te volgen voor dit certificaat ... gebruik in plaats daarvan GKE of EKS, het zal het werk voor uw studie doen;
  • Ik vormde een klein Kubernetes-cluster op Amazon EKS en ging ermee spelen. Ik moedig aan om hetzelfde te doen, maar verwijder de bronnen als deze niet worden gebruikt;
  • Favour deze GitHub repository en doe alle oefeningen op uw cluster. Als je deze oefeningen kunt voltooien, ben je klaar voor het examen;
  • Crontab.guru, omdat ik altijd het cron-formaat altijd vergeet en het deel uitmaakt van het curriculum. Een beetje opfrissen voordat het examen geen pijn doet;
  • De cursus van Linux Academy; een standaard zoals altijd;

Laatste woorden

Ik hoop dat dit artikel je helpt bij het behalen van deze certificering! Als je faalt: geen probleem. Blijf studeren en het zal de volgende keer werken. Wees niet ontmoedigd als je fout begint te antwoorden. Blijf kalm en als je faalt, krijg je immers altijd de tweede poging. Je kunt je eerste gewoon beschouwen als een laatste oefentoets voordat het ware begint. :)

Het formaat is ook veel leuker dan AWS-certificeringen. Afgezien van de op Chrome gebaseerde terminalomgeving, die weer helemaal klote is en een wezen moet zijn dat aan de hel is ontsnapt, heb ik erg genoten van dit examen.

CNCF moet veel moeite hebben gedaan om de backend-middelen beschikbaar te stellen en een geautomatiseerd script te schrijven dat zal bepalen of u slaagt of niet op basis van de status van uw clusters ... * applaus *.

Wat is het volgende ?

Ik probeer nu een gecertificeerde Kubernetes-beheerder te krijgen. Ik zal een bericht als dit schrijven wanneer ik het zal wissen.

Ik ben op LinkedIn als je je liefde wilt delen. ❤

https://www.linkedin.com/in/nassim-kebbani/

Doei !