Come battere la certificazione CKAD di Kubernetes

Dubito che le certificazioni IT dimostreranno mai la "competenza" di qualcuno in un determinato strumento, perché avere successo in un esame non dimostrerà mai che sei un esperto. Ma almeno, queste certificazioni possono essere viste come una buona sfida e mi sono sempre posto l'obiettivo di cancellarne alcune ogni anno. I due bambini a cui mi rivolgo sono l'amministratore certificato Kubernetes (CKA) e lo sviluppatore dell'applicazione certificata Kubernetes (CKAD). Ho eliminato quest'ultimo ieri.

In questo articolo Medium, che è il mio primo sulla piattaforma, fornirò i miei feedback con tutti i dettagli che posso ricordare dell'esame Certified Kubernetes Application Developer (CKAD) per aiutarti a riuscire se intendi tentare presto.

Iscrizione all'esame

L'esame costa 300 $ e questo prezzo include un nuovo tentativo in caso di fallimento al primo tentativo. Vai al loro sito Web e segui la procedura e completa l'ordine. Per qualche motivo, l'esame può richiedere alcuni minuti per apparire sul tuo profilo dopo aver completato l'ordine.

Devi quindi programmare il tuo esame, che durerà fino a 2 ore.

Formato dell'esame

L'esame consiste nel risolvere 19 problemi in 2 ore. Sono previsti quattro cluster Kubernetes e devi passare da un cluster all'altro usando kubectl.

Ogni domanda fa riferimento a un determinato cluster, quindi leggi attentamente la domanda e usa il kubectl config use-context ogni volta che ti viene chiesto. Altrimenti, inserirai i comandi nel cluster sbagliato. Puoi SSH su tutti i nodi usando il comando ssh. E ottieni l'account root usando il comando sudo -i.

Devi superare il 66% per cancellare l'esame, quindi è molto fattibile.

Entro 36 ore dopo un esame, ricevi il tuo punteggio via e-mail e una certificazione PDF come questa se hai successo.

Questi sono i soggetti coperti dalla certificazione e il loro peso corrispondente:

  • Concetti fondamentali - 13%)
  • Baccelli multi-contenitore - 10%
  • Design del pod - 20%
  • Configurazione - 18%
  • Osservabilità - 18%
  • Servizi e networking - 13%
  • Persistenza statale - 8%

Come puoi vedere, CKAD si riferisce a "Usare un cluster Kubernetes una volta già effettuato il provisioning" mentre CKA si riferisce a "Provisioning di un cluster Kubernetes stesso". Se intendi passare CKAD, è inutile imparare come usare etcd o installare l'apiserver kube o altre cose simili. Fondamentalmente si concentra su come utilizzare lo strumento CLI kubectl.

Ambiente d'esame

Frequenti l'esame a casa e puoi aprire solo una domanda: Google Chrome. L'ambiente dell'esame è costituito da una sessione terminale basata sul web ritardata e buggy. Seriamente, fa schifo completamente. Non aspettarti nulla di eccezionale dall'ambiente dell'esame, non ti aiuterà in alcun modo ma è comunque utilizzabile.

Sei guardato completamente da un dipendente di CNCF, che interagirà con te attraverso una chat. Non lo vedi affatto. Non ti simpatizza e rimane professionale, ma è educato e ti risponderà gentilmente. Puoi chiedergli come utilizzare l'ambiente dell'esame e lui risponderà, ma non ti darà alcun consiglio sul contenuto dell'esame stesso, quindi astieniti dal porre tali domande. La webcam e il microfono sono accesi in modo che possa vederti e ascoltarti. Una sessione con schermo condiviso è in esecuzione in modo che possa vedere il tuo desktop, è necessario installare un plug-in dedicato sul browser Google Chrome per abilitarlo.

Una cosa importante è che devi obbedire a tutto ciò che ti chiede (stai calmo, non ti chiederà di mostrare le tue parti). Ma ci sono alcune regole da seguire:

  • Devi essere solo nella stanza;
  • La stanza deve essere silenziosa;
  • Ti verrà chiesto di mostrare il tuo ambiente ruotando lentamente la videocamera;
  • Devi mostrargli un documento di identità valido emesso dal governo;
  • È vietato mettere altro sulla scrivania accanto al computer. Nessuna bevanda, nessun cibo e assolutamente nessun dispositivo elettronico;
  • Non puoi parlare, sussurrando parole. Non leggere le domande ad alta voce, devi rimanere in silenzio;
  • Ti è proibito metterti la mano sulla bocca, il tuo viso dovrebbe rimanere completamente visibile per tutto il tempo;

Per ultimo, l'ho fatto alla volta per abitudine e il procuratore mi ha detto immediatamente di togliermi la mano dalla bocca. Quindi sì, ti stanno davvero guardando davvero.

Se sei avvisato come me, cerca di non riprodurre la stessa condotta e dovrebbe andare bene. Tieni presente che ha il diritto di terminare l'esame e di squalificarti in qualsiasi momento senza preavviso, quindi sii educato e sii collaborativo quando ti chiede qualcosa. La chat scompare dopo alcuni secondi, ma si aprirà quando ti invia un messaggio, non puoi perdere un'istruzione.

Se non hai fatto nulla di troppo sbagliato, ti ha lasciato completare l'esame. Le verifiche dell'esame sono automatizzate, ma tieni presente che mantengono il video e un essere umano può controllare i video per ulteriori verifiche.

Tipo di domande e suggerimenti

Conosci la tua merda, intendo REAL

L'esame non è così difficile, ma devi conoscere Kubernetes per davvero, non puoi fingere. Se non conosci Kubernetes per davvero, non provarci nemmeno. Non è un tipo di esame in cui puoi falsificare le cose imparando a memoria, devi digitare i comandi, interagire con i veri cluster Kubernetes, eseguire il debug, capire cosa succede ecc. La pratica è tutto qui.

Ancora: questo non è un esame complicato. Scopri come utilizzare Kubernetes e avrai successo senza problemi.

Sapere dove trovare informazioni

Intendo non con Google, non solo perché è proibito durante l'esame, ma semplicemente perché un kubectl -h di base può aiutarti molto di più che navigare sul Web o su kubernetes.io/docs.

Dare la priorità alle domande È la chiave

Le persone su Internet affermano che questo esame è una questione di velocità. Non è falso, ma non credo che la gestione del tempo sia la chiave del successo.

Se confronti le certificazioni AWS in cui devi completare 55 domande in 2 ore, noterai la differenza. Qui, devi completare solo 19 domande in due ore e alcune di esse sono molto brevi e possono essere completate in un minuto circa. Quanto a me stesso, ho risposto a 15/19 domande dopo la prima ora e mi rimaneva un'ora per le ultime 4 domande ...

Ancora una volta, se conosci seriamente le tue materie, dubito che rimarrai senza tempo.

Per me, sarà più corretto affermare che la chiave per avere successo in questo esame è quella di dare la priorità alle domande con saggezza. Ogni domanda avrà il suo peso sul punteggio finale. Se vedi una domanda che pesa 10 +%: questa è la tua priorità assoluta.

Devi dare la priorità. Rispondi prima alle domande più importanti e salta semplicemente le domande più piccole (quella con il 2% -3% di peso) e torna a dopo.

La prima ora è la più importante

Dopo un'ora di digitazione del comando kubectl, il cervello e la concentrazione sono praticamente morti. Quindi cerca di essere veloce all'inizio mentre sei ancora fresco. Puoi richiedere una pausa ma il timer non si ferma. Sii veloce e fidati delle tue prime domande per poter completare le domande rimanenti.

Usa la funzione di blocco note ogni volta che salti una domanda

Ogni volta che salti una domanda, usa la funzione di blocco note per lasciare un segno sulla domanda che hai saltato, sul suo peso e sull'argomento generale che copre. (es. Domanda 14 = Persistenza statale = 7%).

Non puoi memorizzare le domande, quindi non giocare a quel gioco, usa il blocco note.

Le domande sono elencate in un menu a discesa. Puoi accedere a qualsiasi domanda in qualsiasi momento. Ma una volta che si risponde a una domanda, è difficile tornare a causa della natura di Kubernetes. Eliminare i pod, ricrearli nel modo corretto richiede tempo, quindi prova a fare le cose direttamente.

Kubectl spiega

Utilizzare e abusare di questo comando: kubectl spiegato - ricorsivo. È una specie di documentazione integrata per i file manifest di YAML k8s. Se è difficile ricordare dove dovrebbe trovarsi una chiave particolare in un manifest YAML, usa kubectl spiegato senza andare alla documentazione!

Kubectl run - -restart flag

Il 50% del tuo successo si basa su QUESTA bandiera. Può farti risparmiare un sacco di tempo, ma tieni presente che alla fine verrà rimosso dalla riga di comando di kubectl perché è obsoleto.

Utilizzerai sempre il comando kubectl run. Fondamentalmente crea diversi carichi di lavoro / oggetti in base a ciò che si passa a questo flag.

kubectl run # senza flag crea una distribuzione

kubectl run - restart = Mai #Crea un pod

kubectl run - restart = OnFailure # Crea un lavoro

kubectl run - restart = OnFailure - schedule = ”* * * * *” # Crea un cronjob

È anche possibile concatenare la distribuzione del servizio utilizzando il flag - esporre. Alcune delle opzioni non possono essere semplicemente specificate in modo imperativo ... quindi è necessario generare un manifest YAML e quindi modificarlo ma ...

Non tentare MAI di scrivere i manifesti YAML da soli

Primo: fa schifo.

Secondo: è fastidioso.

Terzo: richiede tempo.

Quarto: a nessuno su questo pianeta piace scrivere file YAML e trovarlo divertente.

Quinto: è compito di un ingegnere DevOps automatizzare le cose che fanno schifo, sono fastidiose, richiedono tempo e che nessun altro al mondo vuole fare. (La prova che alla fine siamo strani perché, per qualche motivo, amiamo ancora il nostro lavoro e ne siamo appassionati ...)

Così ! Usa —-dry-run -o -yaml Combinalo con la punta del flag - restart, e hai un modo di generare un tipico file manifest senza copiare / incollare nulla.

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

E hai un bel file manifest Cronjob YAML pronto per essere applicato o modificato! In questo modo non dovrai scrivere più volte quella targhetta.

Quella bandiera sembra non funzionare con PersistentVolume però ... correggimi se sbaglio, per favore.

Non dimenticare MAI di mettere quella bandiera -n

Tutto ciò che fai deve essere fatto in un cluster definito sì, ma può anche essere fatto in uno spazio dei nomi specifico. Quindi non dimenticare di aggiungere un flag -n ai tuoi comandi. Questo tipo di dettagli persi può uccidere il tuo punteggio per niente.

Risorse che ho usato

Sto lavorando a un'azienda che utilizza Openshift, quindi ho molti colleghi interessanti nell'umore dei k8. Questo tipo di ambiente può aiutarti.

  • Kubernetes in Action di Mario Luksa. Il libro è la Sacra Bibbia di Kubernetes e sostanzialmente risponde a tutte le domande che potresti avere;
  • Indipendentemente dal fatto che tu usi Kubernetes al lavoro, dovresti comunque effettuare il provisioning del tuo cluster da qualche parte e giocarci. Prova a convertire un'applicazione che conosci in un'applicazione Kubernetes. È inutile seguire le Kubernetes di Kelsey Hightower nel modo più duro per questo certificato ... usa invece GKE o EKS, farà il lavoro per il tuo studio;
  • Ho trasformato in terra un piccolo cluster di Kubernetes su Amazon EKS e ci sono andato a giocare. Incoraggio a fare lo stesso, ma elimino le risorse quando non vengono utilizzate;
  • Preferisci questo repository GitHub e fai tutti gli esercizi sul tuo cluster. Se riesci a completare questi esercizi, sei pronto per l'esame;
  • Crontab.guru, perché dimentico sempre sempre il formato cron e fa parte del curriculum. Un piccolo aggiornamento prima dell'esame non farà male;
  • Corso di Linux Academy; uno standard come sempre;

Parole finali

Spero che questo articolo ti aiuti a ottenere questa certificazione! Se fallisci: nessun problema. Continua a studiare e funzionerà la prossima volta. Non scoraggiarti se inizi a rispondere in modo errato. Stai calmo e, dopo tutto, se fallisci, avrai sempre il secondo tentativo. Puoi considerare il tuo primo come ultimo test di prova prima della cosa vera. :)

Il formato è anche molto più divertente delle certificazioni AWS. Oltre all'ambiente terminale basato su Chrome, che di nuovo fa schifo e deve essere una creatura sfuggita all'inferno, mi è piaciuto molto questo esame.

CNCF deve aver compiuto molti sforzi nel provisioning delle risorse di back-end e nella stesura di uno script automatizzato che determinerà se si ha successo o meno in base allo stato dei cluster ... * applausi *.

Qual'è il prossimo ?

Cercherò di ottenere l'amministratore Kubernetes certificato uno ora. Scriverò un post come questo quando lo cancellerò.

Sono su LinkedIn se vuoi condividere il tuo amore. ❤

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

Ciao !