Hur man slår Kubernetes CKAD-certifiering

Jag tvivlar på att IT-certifieringar någonsin kommer att visa "expertis" hos någon i ett visst verktyg, för att lyckas med en tentamen kommer aldrig att visa att du är expert. Men åtminstone kan uppsatscertifieringar ses som en bra utmaning, och jag sätter mig alltid målet att rensa några av dem varje år. De två spädbarn som jag är inriktade på är Certified Kubernetes Administrator (CKA) och Certified Kubernetes Application Developer (CKAD). Jag rensade det senare igår.

I den här Medium-berättelsen, som är min första på plattformen förresten, kommer jag att ge mina feedbacks med så mycket information som jag kan komma ihåg om certifierad Kubernetes Application Developer (CKAD) examen för att hjälpa dig att lyckas om du planerar att försöka det snart.

Anmälan till tentamen

Tentamen kostar 300 $ och det här priset inkluderar en omprövning om du misslyckas med ditt första försök. Gå till deras webbplats och följ processen och slutför beställningen. Av någon anledning kan det ta några minuter innan tentamen visas i din profil efter att du har slutfört beställningen.

Du måste sedan schemalägga din tentamen, som kommer att pågå i upp till 2 timmar.

Examensformat

Examen består av att lösa 19 problem på 2 timmar. Fyra Kubernetes-kluster är tillhandahållna, och du måste växla mellan varje kluster med kubectl.

Varje fråga hänvisar till ett givet kluster, så läs frågan noga och använd kubectl config use-context varje gång du blir ombedd. Annars anger du kommandon i fel kluster. Du kan SSH på alla noder med kommandot ssh. Och få root-konto med sudo -i-kommandot.

Du måste få 66% för att rensa tentamen, så det är mycket genomförbart.

Inom 36 timmar efter en tentamen får du din poäng via e-post och en PDF-certifiering som den här om du lyckas.

Dessa är ämnen som täcks av certifieringen och deras motsvarande vikt:

  • Kärnbegrepp - 13%)
  • Skåp med flera containrar - 10%
  • Poddesign - 20%
  • Konfiguration - 18%
  • Observerbarhet - 18%
  • Tjänster och nätverk - 13%
  • Statens uthållighet - 8%

Som ni kan se, hänför sig CKAD till "Att använda ett Kubernetes-kluster som en gång redan har tillhandahållits" medan CKA avser "Tillhandahålla ett Kubernetes-kluster själv." Om du tänker passera CKAD, är det värdelöst att lära sig använda etcd eller installera kube-apiserver , eller andra liknande saker. Den fokuserar i princip på hur man använder kubectl CLI-verktyget.

Examensmiljö

Du deltar i tentamen hemma och du kan bara öppna en applikation: Google Chrome. Examensmiljön består av en laggy och buggy webbaserad terminalsession. På allvar suger det helt. Förvänta dig inte något bra från tentamiljön, det hjälper dig inte på något sätt men det är fortfarande användbart.

Du tittas hela vägen av en anställd från CNCF, som kommer att interagera med dig genom en chatt. Du ser honom inte alls. Han sympatiserar inte med dig och förblir professionell, men han är artig och kommer att svara dig vänligt. Du kan fråga honom hur man använder examensmiljön och han kommer att svara, men han kommer inte att ge dig några råd om examens innehåll själv så avstå från att ställa sådana frågor. Din webbkamera och mikrofon är på så att han kan se och höra dig. En session med delad skärm körs så att han kan se ditt skrivbord måste du installera en dedicerad plugin i din Google Chrome-webbläsare för att aktivera det.

En viktig sak är att du måste följa vad han ber om (håll dig sval, han kommer inte att be dig visa dina delar). Men det finns några regler att följa:

  • Du måste vara ensam i rummet;
  • Rummet måste vara tyst;
  • Du blir ombedd att visa din miljö genom att vrida kameran långsamt runt dig;
  • Du måste visa honom ett giltigt utfärdat ID-kort;
  • Du är förbjuden att lägga något annat på skrivbordet bredvid din dator. Ingen dryck, ingen mat och absolut ingen elektronisk enhet;
  • Du kan inte prata, viskar ord. Läs inte frågor högt, du måste vara tyst;
  • Du är förbjudet att lägga dig handen över munnen, ditt ansikte ska förbli helt synligt hela tiden;

För den sista punkten gjorde jag det åt gången av vana, och proktorn sa till mig omedelbart att ta bort min hand från min mun. Så ja, de tittar verkligen på dig på riktigt.

Om du varnas som jag var, försök att inte återge samma beteende och det borde vara bra. Kom ihåg att han har rätt att avsluta tentamen och diskvalificera dig när som helst utan någon varning, så var artig och bara vara samarbetsvillig när han frågar dig något. Chatten försvinner efter några sekunder, men den pop-up när han skickar ett meddelande, du kan inte missa en instruktion.

Om du inte gjorde något för fel låter han dig genomföra tentamen. Examinationsverifieringarna är automatiserade, men kom ihåg att de behåller videon och en människa kan kontrollera videoklippen för ytterligare verifikationer.

Typ av frågor och tips

Vet du skit, jag menar för RIKTIGT

Examen är inte så svår, men du måste känna till Kubernetes på riktigt, du kan inte förfalska den. Om du inte känner Kubernetes på riktigt, försök inte ens. Det är inte en typ av examen där du kan förfalska saker genom att lära dig utanför, du måste skriva kommandona, interagera med riktiga Kubernetes-kluster, felsöka, förstå vad som händer osv. Övning är allt här.

Återigen: detta är inte en komplicerad tentamen. Vet hur du använder Kubernetes, så lyckas du utan problem.

Vet var du kan hitta information

Jag menar inte med Google, inte bara för att det är förbjudet under tentamen, utan helt enkelt för att en grundläggande kubectl -h kan hjälpa dig mycket mer än att surfa på webben eller kubernetes.io/docs.

Att prioritera frågor är nyckeln

Människor över internet uppger att denna examen är en fråga om snabbhet. Det är inte falskt, men jag tror inte att tidshantering är nyckeln till framgång.

Om du jämför AWS-certifieringar där du måste fylla i 55 frågor på två timmar ser du skillnaden. Här måste du bara fylla i 19 frågor på två timmar, och några av dem är mycket korta och kan slutföras på en minut eller så. När det gäller mig själv svarade jag 15/19 frågor efter den första timmen och jag hade en timme kvar för de sista fyra frågorna ...

Återigen, om du känner dina ämnen på allvar, tvivlar jag på att du kommer att få slut på tiden.

För mig kommer det att vara mer korrekt att säga att nyckeln till att lyckas med denna tentamen är att prioritera dina frågor klokt. Varje fråga har sin egen vikt på slutresultatet. Om du ser en fråga som väger 10 +%: detta är din absoluta prioritering.

Du måste prioritera. Svara först på stora frågor och hoppa helt enkelt över små frågor (den med 2% –3% vikt) och komma tillbaka till dem efter.

Den första timmen är den viktigaste

Efter en timmes typ av kubectl-kommando är din hjärna och koncentration i grund och botten död. Så försök att vara snabb i början medan du fortfarande är färsk. Du kan begära en paus men timern stannar inte. Var snabb och få lite förtroende för dina första frågor för att kunna fylla i de återstående frågorna.

Använd anteckningsboksfunktionen varje gång du hoppar över en fråga

Varje gång du hoppar över en fråga använder du anteckningsblockfunktionen för att hålla ett märke på vilken fråga du hoppade över, dess vikt och det totala ämnet det täcker. (t.ex. fråga 14 = statlig uthållighet = 7%).

Du kan inte memorera frågorna, så spel inte det spelet, använd anteckningsblocket.

Frågorna listas i en rullgardinsmeny. Du kan komma åt alla frågor när som helst. Men när en fråga har besvarats är det svårt att komma tillbaka på grund av Kubernetes karaktär. Att ta bort skidor, återskapa dem på rätt sätt är tidskrävande så försök att göra saker rätt direkt.

Kubectl förklarar

Använd och missbruk det här kommandot: kubectl förklara - -recursivt. Det är en slags inbyggd dokumentation för YAML k8s manifestfiler. Om det är svårt att komma ihåg var en viss nyckel ska vara i ett YAML-manifest, använd kubectl-förklaring utan att gå till dokumenten!

Kubectl run - -start flagga

50% av din framgång är baserad på DEN flaggan. Det kan spara mycket tid, men kom ihåg att det så småningom kommer att tas bort av kommandoraden kubectl eftersom den är föråldrad.

Du använder kommandot kubectl run hela tiden. Det skapar i princip olika arbetsbelastningar / objekt baserat på vad du skickar till denna flagga.

kubectl run # utan flagg skapar en distribution

kubectl run - restart = Aldrig #Creates a Pod

kubectl run - restart = OnFailure # Skapar ett jobb

kubectl run - restart = OnFailure - schema = ”* * * * *” # Skapar en cronjob

Du kan även kedja distribution av tjänster genom att använda flaggan - exponera. Vissa av alternativen kan inte bara anges på det absolut nödvändiga sättet ... så du måste generera ett YAML-manifest och sedan redigera det men ...

Försök ALDRIG att skriva YAML manifesterar själv

Först: det suger.

För det andra: det är irriterande.

För det tredje: det är tidskrävande.

Fjärde: ingen på denna planet gillar att skriva YAML-filer och tycker att de tycker om.

Femte: det är jobbet som en DevOps-ingenjör att automatisera saker som suger, är irriterande, tidskrävande och som ingen annan på planeten vill göra. (Bevis för att vi är konstiga i slutändan för att vi av någon anledning fortfarande älskar vårt jobb och brinner för det ...)

Så! Använd —- dry-run -o -yaml Kombinera den med - starta flaggspetsen, så har du ett sätt att generera typisk manifestfil utan att kopiera / klistra in något.

kubectl run hej - image = busybox - restart = OnFailure - schema = ”* * * * *” - torrkörning -o yaml> cj.yaml

Och du har en trevlig Cronjob YAML-manifestfil redo att appliceras eller redigeras! På så sätt behöver du inte skriva den pannplattan om och om igen.

Den flaggan verkar inte fungera med PersistentVolume men ... korrigera mig om jag har fel snälla.

Glöm ALDRIG att sätta den -n flaggan

Allt du gör måste göras i ett definierat kluster ja, men det kan också göras i ett specifikt namnområde. Så glöm inte att lägga till en-flagga till dina kommandon. Den typen av missad detalj kan döda din poäng för ingenting.

Resurser jag använde

Jag arbetar på ett företag som använder Openhift, så jag har massor av coola kollegor i k8: s humör. Den typen av miljö kan hjälpa dig.

  • Kubernetes i aktion av Mario Luksa. Boken är den heliga bibeln från Kubernetes, och den svarar i princip på alla frågor du kan ha;
  • Oavsett om du använder Kubernetes på jobbet eller inte, bör du fortfarande ange ditt eget kluster någonstans och spela med det. Försök konvertera ett program du känner till ett Kubernetes-program. Det är värdelöst att följa Kelsey Hightowers Kubernetes på det hårda sättet för detta certifikat ... använd GKE eller EKS istället, det kommer att göra jobbet för din studie;
  • Jag terraformade ett litet Kubernetes-kluster på Amazon EKS och gick för att leka med det. Jag uppmuntrar att göra samma sak, men ta bort resurserna när de inte används;
  • Gilla detta GitHub-arkiv och gör alla övningar i ditt kluster. Om du kan genomföra dessa övningar är du redo för tentamen.
  • Crontab.guru, för jag glömmer alltid alltid alltid cronformatet och det är en del av läroplanen. Lite uppdatering innan tentamen kommer inte att skada;
  • Linux Akademis kurs; en standard som alltid;

Sista ord

Hoppas att den här artikeln hjälper dig att få den här certifieringen! Om du misslyckas: inga problem. Fortsätt studera och det kommer att fungera nästa gång. Bli inte avskräckt om du börjar svara fel. Håll dig sval, och när du misslyckas kommer du alltid att göra det andra försöket. Du kan bara betrakta ditt första som ett sista övningstest innan det är sant. :)

Formatet är också mycket roligare än AWS-certifieringar. Förutom den Chrome-baserade terminalmiljön, som igen, helt suger och måste vara en varelse som undkom helvetet, jag tyckte mycket om denna examen.

CNCF måste ha lagt ned mycket arbete med att tillhandahålla backendresurserna samt skriva ett automatiserat skript som kommer att avgöra om du lyckas eller inte baserat på tillståndet för dina kluster ... * applåder *.

Vad kommer härnäst ?

Jag försöker få en certifierad Kubernetes-administratör en nu. Jag skriver ett inlägg som det här när jag rensar det.

Jag är på LinkedIn om du vill dela din kärlek. ❤

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

Adjö !