ProHoster > Блог > Administracija > Moje iskustvo i savjeti za polaganje ispita za certificiranog programera Kubernetes aplikacije (CKAD)
Moje iskustvo i savjeti za polaganje ispita za certificiranog programera Kubernetes aplikacije (CKAD)
Nedavno sam uspješno položio ispit za certificiranog programera Kubernetes aplikacija (CKAD) i dobio svoju certifikaciju. Danas želim govoriti o samoj proceduri certifikacije i kako sam se za nju pripremio. Bilo mi je zanimljivo iskustvo polagati ispit online pod budnim nadzorom ispitivača. Ovdje neće biti vrijednih tehničkih informacija; članak je čisto narativne prirode. Takođe, nisam imao mnogo iskustva u radu sa Kubernetesom i nisam imao zajedničke treninge sa kolegama, učio sam i trenirao sam u slobodno vreme.
Dosta sam mlad u oblasti web razvoja, ali sam odmah shvatio da bez barem osnovnog znanja o Dockeru i K8s-u nećete stići daleko. Polaganje kursa i priprema za ovakvu vrstu ispita činilo se kao dobra ulazna tačka u svijet kontejnera i njihove orkestracije.
Ako i dalje mislite da je Kubernetes previše komplikovan i nije za vas, pratite mačku.
Šta je to?
Postoje dvije vrste Kubernetes certifikata od Cloud Native Computing Foundation (CNCF):
Certified Kubernetes Application Developer (CKAD) - testira sposobnost dizajniranja, kreiranja, konfiguriranja i objavljivanja aplikacija u oblaku za Kubernetes. Ispit traje 2 sata, 19 zadataka, prolaznost 66%. Zahtijeva vrlo površno poznavanje osnovnih primitiva. Košta 300 dolara.
Sertifikovani Kubernetes administrator (CKA) testira veštine, znanje i kompetenciju za obavljanje dužnosti Kubernetes administratora. Ispit traje 3 sata, 24 zadatka, prolaznost 74%. Potrebno je dublje znanje o izgradnji i konfigurisanju sistema. Cijena također iznosi 300 dolara.
CKAD i CKA certifikacijske programe razvila je Cloud Native Computing Foundation kako bi proširila Kubernetes ekosistem kroz standardiziranu obuku i sertifikaciju. Ovaj fond je kreirao Google u partnerstvu sa Linux fondacijom, na koju je svojevremeno prebačen Kubernetes kao početni tehnološki doprinos i koji podržavaju kompanije kao što su Microsoft, Apple, Facebook, Cisco, Intel, Red Hat i mnoge druge (c) Wiki
Ukratko, ovo su ispiti iz “master organizacije” na Kubernetesu. Naravno, postoje i sertifikati drugih kompanija.
Zašto?
Ovo je vjerovatno najkontroverznija tačka u cijeloj ovoj ideji. Ne želim da pravim holivar o potrebi za sertifikatima, samo želim da verujem da će prisustvo ove vrste sertifikata pozitivno uticati na moju vrednost na tržištu rada. Sve je subjektivno – nikad ne znate šta će tačno biti prekretnica u odluci da vas zaposli.
PS: Ne tražim posao, sad sam zadovoljan svime... pa osim možda preseljenjem negdje u SAD
Trening
CKAD test ima 19 pitanja, koja su podijeljena u teme na sljedeći način:
13% – Osnovni koncepti
18% – Konfiguracija
10% – Multi-kontejnerske mahune
18% – Uočljivost
20% – Pod Design
13% – Usluge i umrežavanje
8% – Upornost stanja
Na platformi Udemy jednostavno postoji odličan kurs jednog Indijca pod imenom Mumshad Mannambeth (link će biti na kraju članka). Zaista vrlo kvalitetan materijal za malu cijenu. Ono što je posebno cool je da kako kurs bude napredovao, od vas će se tražiti da radite praktične vježbe u testnom okruženju, tako da ćete razviti vještinu rada na konzoli.
Prošao sam cijeli kurs i odradio sve praktične vježbe (ne bez, naravno, zavirivanja u odgovore), a neposredno prije ispita sam ubrzano odgledao sva predavanja i polagao zadnja dva probna ispita. Trebalo mi je oko mjesec dana mirnim tempom. Ovaj materijal mi je bio dovoljan da sigurno položim ispit sa ocjenom od 91%. Negdje sam pogriješio u jednom zadatku (NodePort nije radio), a nekoliko minuta nije bilo dovoljno da završim još jedan zadatak sa povezivanjem ConfigMap-a iz datoteke, iako sam znao rješenje.
Kako je na ispitu?
Ispit se odvija u pretraživaču, sa uključenom web kamerom i zajedničkim ekranom. Pravila ispita zahtijevaju da u prostoriji nema stranaca. Ispit sam polagao kada je država već uvela režim samoizolacije, pa mi je bilo važno da nađem miran period da mi žena ne uđe u sobu ili da dete vrišti. Odabrao sam kasno uveče, jer je vrijeme dostupno za svačiji ukus.
Na samom početku, ispitivač traži da pokažete svoju primarnu ličnu kartu koja sadrži fotografiju i puno ime (na latinici) - za mene je to bio strani pasoš i da postavite web kameru na radnu površinu i prostoriju kako biste bili sigurni da nema strani predmeti.
U glavnom prozoru, pored teksta zadataka, terminala i razgovora sa ispitivačem, nalazi se i prozor za bilješke u koji možete kopirati neka bitna imena ili komande - to nam je par puta dobro došlo.
Savjeti
Koristite pseudonime da uštedite vrijeme. Evo šta sam koristio:
export ns=default # переменная для нэймспейса
alias ku='kubectl' # укорачиваем основную команду
alias kun='ku -n=$ns' # kubectl + namespace
alias kudr='kun --dry-run -o=yaml' # очень нужные флаги, чтобы генерить yaml описание для объекта
Zapamtite kombinacije zastavica za naredbu Trčida brzo generišete yaml za različite objekte - pod/deploy/job/cronjob (iako ih uopće nije potrebno pamtiti, možete samo pogledati pomoć sa zastavicom -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
Koristite skraćena imena resursa:
ku get ns # вместо namespaces
ku get deploy # вместо deployments
ku get pv # вместо persistentvolumes
ku get pvc # вместо persistentvolumeclaims
ku get svc # вместо services
# и т.д., полный список можно подсмотреть по команде:
kubectl api-resources
Pravilno rasporedite vrijeme za obavljanje svih zadataka, nemojte se zaglaviti na jednoj stvari, preskočite pitanja i nastavite dalje. U početku sam mislio da ću vrlo brzo završiti zadatke i da ću prije završiti ispit, ali na kraju nisam stigao da završim dva zadatka. U stvari, vrijeme za ispit je raspoređeno uzastopno, a sva 2 sata prolaze u napetosti.
Ne zaboravite promijeniti kontekst – na početku svakog zadatka daje se komanda za prebacivanje kako bi se radilo u željenom klasteru.
Također pazite na imenski prostor. Za ovo sam koristio još jedan hak:
alias kun='echo namespace=$ns && ku -n=$ns' # при выполнении каждой команды первой строкой у меня выводился текущий нэймспейс
Nemojte žuriti da platite sertifikat, sačekajte popuste. Autor kursa često e-poštom šalje promotivne kodove sa 20-30% popusta.