Di recente ho sostenuto con successo l'esame Certified Kubernetes Application Developer (CKAD) e ho ottenuto il certificato. Oggi voglio raccontarvi l'intera procedura di certificazione e come mi sono preparato. È stata un'esperienza interessante affrontare un esame online sotto attenta osservazione dell'esaminatore. Non ci saranno informazioni tecniche preziose, l'articolo ha un carattere puramente narrativo. Inoltre, non avevo una grande esperienza pregressa con Kubernetes e non ho avuto preparazione con i colleghi; ho studiato e praticato da solo nel tempo libero.
Sono relativamente nuovo nel campo dello sviluppo web, ma ho subito capito che senza almeno conoscenze di base su Docker e K8s non si va lontano. Seguire un corso e prepararsi per un esame di questo tipo mi è sembrato un buon punto di partenza per entrare nel mondo dei container e della loro orchestrazione.
Se pensate ancora che Kubernetes sia troppo difficile e non faccia per voi, vi invito a proseguire.
Che cos'è questo?
Ci sono due tipi di certificazione per Kubernetes offerti dalla Cloud Native Computing Foundation (CNCF):
- Certified Kubernetes Application Developer (CKAD) — verifica della capacità di progettare, costruire, configurare e pubblicare applicazioni cloud native per Kubernetes. L'esame dura 2 ore, comprende 19 domande e il punteggio di passaggio è del 66%. Sono richieste conoscenze di base sui principali primitive. Costo $300.
- Certified Kubernetes Administrator (CKA) — verifica delle competenze, conoscenze e capacità necessarie per svolgere le funzioni di un amministratore Kubernetes. L'esame dura 3 ore, comprende 24 domande e il punteggio di passaggio è del 74%. Sono necessarie conoscenze più approfondite nella costruzione e configurazione dei sistemi. Il costo è anch'esso di $300.
I programmi di certificazione CKAD e CKA sono stati sviluppati dalla Cloud Native Computing Foundation per ampliare l'ecosistema Kubernetes tramite una formazione e una certificazione standardizzate. Questa fondazione è stata creata da Google in collaborazione con la Linux Foundation, a cui Kubernetes è stato originariamente donato come contributo tecnologico iniziale e che è supportata da aziende come Microsoft, Apple, Facebook, Cisco, Intel, Red Hat e molte altre (c) Wiki.
In breve, questi sono esami dalla "principale organizzazione" su Kubernetes. Certamente, ci sono certificazioni anche da altre aziende.
Perché?
Probabilmente questo è il punto più controverso di tutta questa iniziativa. Non voglio avviare una discussione sulla necessità dei certificati, mi piace solo pensare che avere un certificato di questo tipo avrà un impatto positivo sul mio valore nel mercato del lavoro. Tutto è soggettivo: non si sa mai cosa possa rappresentare il punto di svolta nella decisione di assumervi.
PS: non sto cercando lavoro, per ora va tutto bene… a meno che un trasferimento negli Stati Uniti non venga in gioco.
Preparazione
Nel test CKAD ci sono 19 domande, suddivise nei seguenti argomenti:
- 13% – Concetti di base
- 18% – Configurazione
- 10% – Pod multi-contenitore
- 18% – Osservabilità
- 20% – Progettazione dei Pod
- 13% – Servizi e rete
- 8% – Persistenza dello stato
Sulla piattaforma Udemy c'è un corso fantastico di un indiano di nome Mumshad Mannambeth (il link sarà alla fine dell'articolo). Materiale davvero di alta qualità a basso costo. È particolarmente interessante che durante il corso vengono proposti esercizi pratici in un ambiente di test, quindi si acquisisce esperienza nell'uso della console.
Ho completato l'intero corso e ho risolto tutti gli esercizi pratici (non ho potuto evitare di dare un'occhiata alle risposte), e proprio prima dell'esame ho rivisto tutte le lezioni a velocità aumentata e ho ripetuto gli ultimi due esami di prova. Ciò mi ha richiesto circa un mese a un ritmo tranquillo. Questo materiale è stato più che sufficiente per superare l'esame con un punteggio del 91%. Ho commesso un errore in un compito (NodePort non ha funzionato) e non avevo abbastanza tempo per completare un altro compito con il collegamento del ConfigMap dal file, anche se conoscevo la soluzione.
Come si svolge l'esame
L'esame si svolge nel browser, con la webcam accesa e lo schermo condiviso. Le regole dell'esame richiedono che nella stanza non ci siano persone estranee. Ho sostenuto l'esame quando nel paese era già stata introdotta la modalità di autoisolamento, quindi era importante per me trovare un momento tranquillo in modo che mia moglie non entrasse nella stanza o che il bambino non urlasse. Ho scelto la profonda notte, fortunatamente la scelta dell'orario è disponibile per tutti i gusti.
All'inizio, l'esaminatore richiede di mostrare il proprio Primary ID con foto e nome e cognome (in caratteri latini); nel mio caso era il passaporto, e di ruotare la webcam verso la scrivania e la stanza per assicurarsi che non ci siano oggetti estranei.
Durante l'esame è consentito tenere aperta un'altra scheda del browser con una delle risorse: , o . Io ho usato la documentazione, che è stata più che sufficiente.
Nella finestra principale, oltre al testo degli incarichi, al terminale e alla chat con l'esaminatore, è disponibile anche una finestra per note, dove si possono copiare nomi importanti o comandi — mi è stata utile un paio di volte.
Consigli
- Usa gli alias per risparmiare tempo. Ecco cosa ho usato:
export ns=default # variabile per il namespace alias ku='kubectl' # abbrevia il comando principale alias kun='ku -n=$ns' # kubectl + namespace alias kudr='kun --dry-run -o=yaml' # flag molto utili per generare la descrizione yaml per l'oggetto - Ricorda le combinazioni di flag per il comando run, per generare rapidamente yaml per diversi oggetti — pod/deploy/job/cronjob (anche se non è necessario ricordarli a memoria, puoi semplicemente consultare l'aiuto con il 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 - Usa nomi abbreviati per le risorse:
ku get ns # invece di namespaces ku get deploy # invece di deployments ku get pv # invece di persistentvolumes ku get pvc # invece di persistentvolumeclaims ku get svc # invece di services # ecc., l'elenco completo può essere visto con il comando: kubectl api-resources - Gestisci bene il tempo per completare tutti i compiti, non rimanere bloccato su un singolo argomento, salta le domande e vai avanti. Inizialmente pensavo di completare i compiti a un ritmo molto alto e terminare l'esame in anticipo, ma alla fine non ho finito due compiti. In realtà, il tempo assegnato per l'esame è molto stretto e tutte e 2 ore passano in tensione.
- Non dimenticare di cambiare contesto: all'inizio di ciascun compito c'è un comando per cambiare, in modo da lavorare nel cluster corretto.
Fai anche attenzione allo namespace. Per questo ho usato un altro trucco:alias kun='echo namespace=$ns && ku -n=$ns' # all'esecuzione di ogni comando, la prima riga mostrava il namespace corrente - Non affrettatevi a pagare la certificazione, aspettate gli sconti. L'autore del corso invia spesso promozioni via email con sconti del 20-30%
- Imparare finalmente vim 🙂
Link:
- — la pagina della certificazione stessa
- — un corso molto valido per la preparazione, tutto chiaro e con illustrazioni
- — link utili e appunti sull'esame
- — racconto di colleghi su Habr riguardo a un esame più complesso, il CKA
Fonte: habr.com
