Experiența și sfaturile mele pentru a susține examenul Certified Kubernetes Application Developer (CKAD)

Experiența și sfaturile mele pentru a susține examenul Certified Kubernetes Application Developer (CKAD)Recent am reușit cu succes să susțin examenul Certified Kubernetes Application Developer (CKAD) și am obținut certificatul. Astăzi vreau să împărtășesc procesul de certificare și pregătirea mea. A fost o experiență interesantă să susțin examenul online sub supravegherea atentă a unui examinator. Nu voi oferi informații tehnice valoroase, articolul are un caracter pur narativ. De asemenea, nu aveam un background solid în lucrul cu Kubernetes și nu am pregătit-te împreună cu colegii, am învățat și m-am antrenat singur în timpul meu liber.

Sunt destul de tânăr în domeniul dezvoltării web, dar am realizat imediat că fără cunoștințe cel puțin elementare de Docker și K8s nu am cum să mă descurc. Părea că trecerea printr-un curs și pregătirea pentru un astfel de examen ar fi un bun punct de plecare în lumea containerelor și orchestration-ului acestora.

Dacă mai credeți că Kubernetes este prea complicat și nu pentru voi, vă rog să citiți în continuare.

Ce este asta?

Există două tipuri de certificări Kubernetes de la Cloud Native Computing Foundation (CNCF):

  • Certified Kubernetes Application Developer (CKAD) – verificarea capacității de a proiecta, crea, configura și publica aplicații cloud native pentru Kubernetes. Examenul durează 2 ore, cu 19 sarcini, iar punctajul minim necesar este de 66%. Este nevoie de cunoștințe destul de superficiale asupra primitivelor de bază. Costul este de $300.
  • Certified Kubernetes Administrator (CKA) – verificarea abilităților, cunoștințelor și competențelor necesare pentru a îndeplini responsabilitățile administratorilor Kubernetes. Examenul durează 3 ore, cu 24 de sarcini, iar punctajul minim necesar este de 74%. Este nevoie de cunoștințe mai aprofundate în construcția și configurarea sistemelor. Costul este tot $300.

Programele de certificare CKAD și CKA au fost dezvoltate de Cloud Native Computing Foundation cu scopul de a extinde ecosistemul Kubernetes prin educație și certificare standardizată. Acest fond a fost creat de Google în parteneriat cu Linux Foundation, care a primit Kubernetes ca contribuție tehnologică inițială și care este susținut de companii precum Microsoft, Apple, Facebook, Cisco, Intel, Red Hat și multe altele (sursă: Wiki)

Pe scurt, aceste examene sunt de la „organizația principală” pentru Kubernetes. Bineînțeles, există și certificări din partea altor firme.

De ce?

Probabil că acesta este cel mai controversat punct din întreaga această inițiativă. Nu vreau să deschid o polemică despre necesitatea certificatelor, pur și simplu vreau să cred că obținerea unui astfel de certificat va avea un impact pozitiv asupra valorii mele pe piața muncii. Totul este subiectiv — niciodată nu știi ce va fi momentul decisiv în alegerea ta pentru un loc de muncă.

PS: nu caut de lucru, acum sunt mulțumit... doar că mă gândesc la o relocare undeva în SUA.

Pregătire

În testul CKAD sunt 19 întrebări, distribuite pe următoarele teme:

  • 13% – Concepute de bază
  • 18% – Configurare
  • 10% – Poduri multi-container
  • 18% – Observabilitate
  • 20% – Designul Pod-ului
  • 13% – Servicii și rețelistică
  • 8% – Persistența stării

Pe platforma Udemy există un curs excelent de la un indian pe nume Mumshad Mannambeth (linkul va fi la finalul articolului). Este un material de calitate foarte bună pentru o sumă modestă. În special, este minunat că în timpul cursului se oferă posibilitatea de a efectua exerciții practice într-un mediu de testare, astfel încât să poți să îți dezvolți abilități în utilizarea consolei.

Am finalizat întregul curs și am rezolvat toate exercițiile practice (bineînțeles, nu au lipsit privirile pe răspunsuri), iar cu puțin înainte de examen am revăzut toate lecțiile pe o viteză crescută și am trecut din nou prin ultimele două examene simulate (mock exams). Mi-a luat aproximativ o lună, într-un ritm liniștit. Acest material a fost suficient pentru a trece examenul cu un rezultat de 91%. La o întrebare am greșit undeva (NodePort nu a funcționat) și mi-au lipsit câteva minute pentru a finaliza o altă întrebare cu ConfigMap dintr-un fișier, deși știam soluția.

Cum decurge examenul

Examenul se desfășoară în browser, cu camera web activată și ecranul partajat. Regulile examenului cer ca în cameră să nu fie persoane străine. Am dat examenul când în țară fusese deja impus regimul de autoizolare, așa că a fost important pentru mine să găsesc o perioadă liniștită, astfel încât soția să nu intre în cameră sau copilul să nu țipe. Am ales miezul nopții, din fericire, aveam opțiunea de a alege ora dorită.

Chiar de la început, examinatorul cere să arăți ID-ul tău principal care conține o fotografie și numele complet (în latină) — am avut un pașaport străin și trebuie să mișc camera web pentru a arăta biroul și camera, pentru a mă asigura că nu sunt obiecte străine.

În timpul examenului este permis să menții deschis un alt tab în browser cu unul dintre resurse: ​https://kubernetes.io/docs/​, ​https://github.com/kubernetes/​ sau https://kubernetes.io/blog/​. Eu am folosit documentația, care a fost suficientă.

În fereastra principală, pe lângă textul întrebărilor, terminal și chat cu examinatorul, mai este o fereastră pentru note, unde poți copia nume sau comenzi importante — am folosit-o de câteva ori.

Sfaturi

  1. Foloseste aliasuri pentru a economisi timp. Iată ce am folosit eu:
    export ns=default # variabilă pentru namespace
    alias ku='kubectl' # scurtăm comanda principală
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # steaguri foarte necesare pentru a genera o descriere yaml pentru obiect
  2. Reține combinațiile de steaguri pentru comenzi run, pentru a genera rapid yaml pentru diferite obiecte — pod/deploy/job/cronjob (deși nu este necesar să le memorezi, poți doar să consulți ajutorul cu steagul -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
  3. Foloseste denumiri scurtate ale resurselor:
    ku get ns # în loc de namespaces
    ku get deploy # în loc de deployments
    ku get pv # în loc de persistentvolumes
    ku get pvc # în loc de persistentvolumeclaims
    ku get svc # în loc de services
    # etc., lista completă poate fi consultată cu comanda: 
    kubectl api-resources
  4. Împarte-ți timpul pentru a finaliza toate sarcinile, nu te bloca pe un singur lucru, sare peste întrebări și treci mai departe. La început am crezut că rezolv sarcinile într-un ritm foarte rapid și voi termina examenul mai devreme, dar în final nu am reușit să finalizez două sarcini. De fapt, timpul alocat examenului este foarte strâns și cele 2 ore trec rapid.
  5. Nu uita să schimbi contextul — la începutul fiecărei sarcini există un comandament pentru a schimba, astfel încât să lucrezi în clusterul corect.
    De asemenea, fii atent la namespace. Pentru asta am folosit o altă șmecherie:
    alias kun='echo namespace=$ns && ku -n=$ns' # la execuția fiecărei comenzi, prima linie îmi arăta namespace-ul curent
  6. Nu te grăbi să plătești pentru certificare, așteaptă reducerile. Autorul cursului trimite adesea pe email coduri promoționale cu reduceri de 20-30%
  7. Învață în sfârșit vim 🙂

Linkuri:

  1. www.cncf.io/certification/ckad — pagina de certificare propriu-zisă
  2. www.udemy.com/course/certified-kubernetes-application-developer — un curs foarte bun pentru pregătire, totul este clar și cu ilustrații
  3. github.com/lucassha/CKAD-resources — linkuri utile și note despre examen
  4. habr.com/ru/company/flant/blog/425683 — poveste de la colegii de pe Habr despre susținerea unui examen CKA mai complex

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster