Una dintre cele mai râvnite certificări IT în momentul actual este Certified Kubernetes Administrator (CKA), care atestă faptul că cel care o deține poate crea și administra un cluster de Kubernetes. Kubernetes - un sistem de gestionare a containerelor pentru automatizarea implementării, scalării și distribuirii aplicațiilor, este o tehnologie nouă, dezvoltată inițial de Google, fiind întreținută, în prezent, de Cloud Native Computing Foundation (CNCF). Prima versiune a fost lansată în 2014, în prezent ajungând la 1.17.3. Kubernetes este stabil, modular, scalabil, satisfăcând, astfel, și cele mai exigente cerințe.
Programul Certified Kubernetes Administrator (CKA) a fost creat de Linux Foundation și Cloud Native Computing Foundation (CNCF) ca parte a efortului comun de a ajuta dezvoltarea ecosistemului Kubernetes. Kubernetes este, probabil, singurul proiect open source a cărui extindere a explodat în ultimii ani - unele dintre cele mai mari și cunoscute companii folosesc Kubernetes (Adidas, ebay, ING, IBM, Huawei, Philips și multe altele).
Dar să revenim la oile... pardon, la containerele noastre. 🙂
Examenul de certificare nu este unul de tip grilă, cu întrebare și răspuns, ci constă în 24 de exerciții care trebuie rezolvate în 3 ore pe 6 custere k8s diferite. Este un examen hands-on: pentru a obține certificarea trebuie să dovediți că sunteți capabili să rezolvați anumite probleme care pot apărea zilnic în exploatarea unui cluster Kubernetes. Fiecare exercițiu are o anumită greutate în rezultatul final, valoarea lor variind între 1% și 9%. Eu am susținut examenul pe Kubernetes 1.17.0, dar task-urile sunt asemănătoare, indiferent de versiunea folosită la examen.
Examenul este supravegheat atât video, cât și audio, de un proctor - și vă rog să mă credeți că vi se va atrage atenția dacă nu stați drept în fața camerei sau dacă nu vă vede chipul în întregime. 🙂 Iar în cazul în care camera în care doriți să susțineți certificarea nu îndeplinește anumite condiții, se poate ajunge chiar la anularea examenului.
Ca materiale de studiu recomand, bineînțeles, documentația oficială, mai ales că este permisă consultarea sa în timpul examenului (lucrați foarte mult cu această documentație - în timpul pregătirii pentru certificare, nu folosiți google pentru a căuta răspunsuri, ci DOAR această pagină, căci vă va fi mult mai ușor să știți ce anume și cum să căutați în timpul susținerii certificării).
Simțiți-vă confortabil cu comenzile imperative pentru a crea resurse k8s sau pentru generarea fișierelor yaml, de genul kubectl create deployment ... --dry-run -oyaml > file.yaml
. Nu intrați în panică dacă nu știți parametrii unei comenzi (nimeni nu-i știe pe de rost): folosiți sistemul de ajutor oferit de Linux (exemplu de folosire a parametrului -h
sau --help
: ETCDCTL_API=3 etcdctl snapshot save -h
și citiți argumentele comenzii respective).
Citiți și recitiți pagina kubectl Cheat Sheet - o veți folosi de câteva ori în timpul examenului.
Un curs foarte, foarte bun de pe Udemy este Certified Kubernetes Administrator (CKA) with Practice Tests - vă dă posibilitatea să faceți o mulțime de teste direct pe platforma KodeKloud a celor care au realizat cursul. Pe lângă exercițiile de la fiecare secțiune, la final sunt și 3 simulări de examen - nu susțineți examenul real până nu reușiți să terminați aceste simulări într-un timp mai mic decât cel indicat de laborator.
Nu recomand cursul de pe Linux Academy dedicat CKA - este prezentat superficial și nu are multe exerciții. Dar este indicat să vă faceți un cont trial (7 zile acces gratuit la toate resursele) și să vedeți și exercițiile lor.
O altă platformă pe care se poate exersa online este Katacoda.
Dar nu vă bazați numai pe aceste platforme online: construiți-vă singuri mai multe clustere locale în KVM sau Virtualbox cu kubeadm
și exersați (folosiți Ubuntu ca OS pentru noduri, căci asta este distribuția folosită la examen); construiți clustere la versiuni mai vechi (de exemplu 1.14.8), apoi actualizați-le folosind documentația oficială. Puteți să vă faceți un cont gratuit în Google Cloud Platform (GCP) și acolo să vă ridicați un cluster - vi se dă o sumă de 300 $ pe care puteți s-o cheltuiți pe ce resurse doriți în platforma lor. Exersați cât mai mult și nu vă fie frică sau rușine să experimentați - stricați de câte ori puteți clusterul, apoi luați-o de la capăt. 🙂 Numai așa puteți să vă simțiți confortabil cu Kubernetes. Să nu uit: NU folosiți minikube pentru a învăța pentru CKA, ci doar clustere formate din cel puțin un master și 2 noduri.
Faceți taskurile de aici după ce terminați cursul de pe Udemy - https://kubernetes.io/docs/tasks/.
Jucați-vă cu fișierul kubeconfig și înțelegeți-i formatul.
Multă lume recomandă Kubernetes the Hard Way a lui Kelsey Hightower - ei bine, trebuie să faceți acest tutorial o dată sau de 2 ori pentru a înțelege bine structura unui cluster de Kubernetes, dar nu vă axați foarte mult pe el.
Învățați să folosiți aliasuri; primul lucru pe care l-am făcut când s-a lansat platforma examenului a fost să-mi setez câteva aliasuri în fișierul .bashrc:
alias k='kubectl'
alias kg='kubectl get'
alias ke='kubectl edit'
alias ka='kubectl apply -f'
alias kr='kubectl run --generator=run-pod/v1'
alias kd='kubectl describe'
alias kc='kubectl create'
Aceste aliasuri mi-au salvat cel puțin 15 - 20 de minute în timpul examenului (aveți de scris foarte multe comenzi asemănătoare, iar dacă nu vă gestionați timpul eficace, există riscul de a nu termina toate subiectele în cele 3 ore alocate examenului sau de a nu avea timp să verificați ce ați făcut).
În timpul examenului asigurați-vă că fiecare exercițiu este făcut pe clusterul corespunzător - dați comanda de schimbare a contextului înainte de a începe fiecare subiect.
Țineți-vă evidența exercițiilor făcut pe Notepad-ul oferit de platforma de examen. Tot aici, puteți lipi anumite comenzi pentru a le găsi mai ușor.
Dacă nu știți să rezolvați un subiect, nu pierdeți timpul cu el - notați în Notepad că nu l-ați rezolvat apoi treceți mai departe (veți reveni la el mai târziu). Repet: timpul este dușmanul vostru iar modul în care îl gestionați poate face diferența între succes și eșec.
Folosiți copy-paste în timpul examenului - este foarte ușor să scrieți greșit numele cerut pentru o resursă (mginx în loc de nginx) și să bulibășiți problema respectivă, căci rezultatul final nu va mai fi conform cerinței.
Alte resurse:
- canale Slack: kubernetes.slack.com (oficial), kodekloud.slack.com, kubernauts.slack.com
- forumul oficial K8s: https://discuss.kubernetes.io/
- Reddit: https://www.reddit.com/r/kubernetes/
Nu în ultimul rând, citiți cu mare atenție recomadările oficiale pentru examen: https://www.cncf.io/certification/cka/ și https://github.com/cncf/curriculum.
[…] mediu simulat, asemănător cu cele din realitate. Candidații trebuie să aibă promovat examenul Certified Kubernetes Administrator (CKA) pentru a putea susține certificarea CKS. Obținerea CKS demonstrează existența abilităților […]