Moje doświadczenie i porady dotyczące zdawania egzaminu Certified Kubernetes Application Developer (CKAD)

Moje doświadczenie i porady dotyczące zdawania egzaminu Certified Kubernetes Application Developer (CKAD)Niedawno zdałem egzamin Certified Kubernetes Application Developer (CKAD) i otrzymałem certyfikat. Dziś chciałbym opowiedzieć o samej procedurze certyfikacji oraz o tym, jak się do niej przygotowywałem. To było ciekawe doświadczenie zdawania egzaminu online pod czujnym okiem egzaminatora. Nie będzie tu praktycznych informacji technicznych, artykuł ma charakter czysto narracyjny. Nie miałem także dużego doświadczenia w pracy z Kubernetes i nie przygotowywałem się wspólnie z kolegami, uczyłem się i ćwiczyłem sam w wolnym czasie od pracy.

Jestem dość młody w dziedzinie web developmentu, ale od razu zrozumiałem, że bez przynajmniej podstawowej wiedzy na temat Docker i K8s daleko nie zajdę. Ukończenie kursu i przygotowanie do tego rodzaju egzaminu wydawało mi się dobrym punktem wyjścia do świata kontenerów i ich orkiestracji.

Jeśli wciąż uważasz, że Kubernetes jest zbyt skomplikowany i nie jest dla Ciebie, zapraszam do dalszej lektury.

Czym to jest?

Są dwa typy certyfikacji Kubernetes oferowane przez Cloud Native Computing Foundation (CNCF):

  • Certified Kubernetes Application Developer (CKAD) — ocena zdolności do projektowania, tworzenia, konfigurowania i publikowania aplikacji cloud native dla Kubernetes. Egzamin trwa 2 godziny, składa się z 19 zadań, próg zaliczenia wynosi 66%. Wymagana jest dość powierzchowna wiedza o podstawowych prymitywach. Koszt to $300.
  • Certified Kubernetes Administrator (CKA) — ocena umiejętności, wiedzy i kompetencji niezbędnych do wykonywania obowiązków administratorów Kubernetes. Egzamin trwa 3 godziny, składa się z 24 zadań, próg zaliczenia wynosi 74%. Wymagana jest głębsza wiedza na temat budowy i konfiguracji systemów. Koszt to również $300.

Programy certyfikacji CKAD i CKA zostały opracowane przez Cloud Native Computing Foundation w celu rozszerzenia ekosystemu Kubernetes poprzez standaryzowane szkolenia i certyfikację. Fundacja została stworzona przez Google we współpracy z Linux Foundation, która przejęła Kubernetes jako początkowy wkład technologiczny i wspierana jest przez takie firmy jak Microsoft, Apple, Facebook, Cisco, Intel, Red Hat i wiele innych (źródło: Wiki).

Krótko mówiąc, są to egzaminy od 'głównej organizacji' zajmującej się Kubernetes. Oczywiście, są również certyfikacje od innych firm.

Dlaczego?

To może być najbardziej kontrowersyjny punkt w całym tym przedsięwzięciu. Nie chcę wywoływać kontrowersji na temat przydatności certyfikatów, po prostu chcę wierzyć, że posiadanie tego rodzaju certyfikatu pozytywnie wpłynie na moją wartość na rynku pracy. Wszystko jest subiektywne - nigdy nie wiesz, co może być punktem zwrotnym w decyzji o zatrudnieniu.

PS: nie szukam pracy, obecnie jestem zadowolony... no chyba że z relokacją gdzieś do USA.

Przygotowanie

W teście CKAD jest 19 pytań, które są rozłożone na tematy w następujący sposób:

  • 13% – Podstawowe pojęcia
  • 18% – Konfiguracja
  • 10% – Multi-Container Pods
  • 18% – Obserwowalność
  • 20% – Projektowanie Podów
  • 13% – Usługi i sieciowanie
  • 8% – Trwałość stanu

Na platformie Udemy jest naprawdę wspaniały kurs od Hindusa o imieniu Mumshad Mannambeth (link będzie na końcu artykułu). Rzeczywiście bardzo jakościowy materiał za niewielką opłatą. Szczególnie fajne jest to, że w trakcie kursu proponowane są ćwiczenia praktyczne w środowisku testowym, dzięki czemu zdobywasz umiejętności pracy w konsoli.

Przeszedłem cały kurs i rozwiązałem wszystkie ćwiczenia praktyczne (oczywiście nie obyło się bez podglądania odpowiedzi), a tuż przed egzaminem jeszcze raz obejrzałem wszystkie wykłady na zwiększonej prędkości i ponownie przeszedłem dwa ostatnie egzaminy próbne. Zajęło mi to około miesiąca w spokojnym tempie. Tego materiału wystarczyło mi, aby pewnie zdać egzamin z wynikiem 91%. W jednym zadaniu popełniłem błąd (NodePort nie zadziałał) i brakowało mi kilku minut, aby dokończyć jeszcze jedno zadanie z podłączeniem ConfigMap z pliku, chociaż znałem rozwiązanie.

Jak przebiega egzamin

Egzamin odbywa się w przeglądarce, z włączoną kamerą internetową i udostępnionym ekranem. Zasady egzaminu wymagają, aby w pomieszczeniu nie było osób trzecich. Zdawałem egzamin, gdy w kraju wprowadzono już tryb samoizolacji, dlatego ważne było dla mnie, aby znaleźć cichy moment, aby do pokoju nie weszła żona ani nie krzyknął dziecko. Wybrałem głęboką noc, na szczęście wybór czasu jest dostępny na każdą potrzebę.

Na początku egzaminator wymaga pokazania twojego pierwotnego dokumentu tożsamości zawierającego zdjęcie i imię oraz nazwisko (w alfabecie łacińskim) - w moim przypadku był to paszport zagraniczny, oraz obrócenia kamery internetowej na biurko i pokój, aby upewnić się o braku obcych przedmiotów.

Podczas egzaminu dozwolone jest posiadanie otwartej dodatkowej karty przeglądarki z jednym z zasobów:https://kubernetes.io/docs/,https://github.com/kubernetes/lub https://kubernetes.io/blog/. Miałem to był dokumentacja, która w zupełności wystarczyła.

W głównym oknie, oprócz tekstu zadań, terminala i czatu z egzaminatorem, dostępne jest także okno notatek, do którego można kopiować ważne imiona lub komendy — kilka razy się przydało.

Porady

  1. Używaj aliasów, aby zaoszczędzić czas. Oto z czego ja korzystałem:
    export ns=default # zmienna dla namespace
    alias ku='kubectl' # skrócenie głównej komendy
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # bardzo potrzebne flagi, aby generować opis yaml dla obiektu
  2. Zapamiętaj kombinacje flag dla komendy run, aby szybko generować yaml dla różnych obiektów — pod/deploy/job/cronjob (chociaż zapamiętywanie ich nie jest konieczne, można po prostu spojrzeć na pomoc z 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
  3. Używaj skróconych nazw zasobów:
    ku get ns # zamiast namespaces
    ku get deploy # zamiast deployments
    ku get pv # zamiast persistentvolumes
    ku get pvc # zamiast persistentvolumeclaims
    ku get svc # zamiast services
    # itd., pełna lista można podejrzeć poleceniem: 
    kubectl api-resources
  4. Mądrze rozplanuj czas na wykonanie wszystkich zadań, nie zatrzymuj się na jednym, pomijaj pytania i idź dalej. Na początku myślałem, że wykonuję zadania w bardzo szybkim tempie i ukończę egzamin przed czasem, ale ostatecznie nie zdążyłem dokończyć dwóch zadań. W rzeczywistości czas na egzamin jest bardzo napięty i wszystkie 2 godziny przechodzą w napięciu.
  5. Nie zapomnij zmieniać kontekstu — na początku każdego zadania podana jest komenda do przełączenia, aby pracować w odpowiednim klastrze.
    Zwracaj również uwagę na namespace. W tym celu używałem jeszcze jednego triku:
    alias kun='echo namespace=$ns && ku -n=$ns' # przy wykonywaniu każdej komendy w pierwszej linii wyświetlałem bieżący namespace
  6. Nie spiesz się z opłaceniem certyfikacji, poczekaj na zniżki. Autor kursu często wysyła na e-mail kody rabatowe z zniżkami 20-30%
  7. W końcu naucz się vim 🙂

Linki:

  1. www.cncf.io/certification/ckad — właściwie sama strona certyfikacji
  2. www.udemy.com/course/certified-kubernetes-application-developer — bardzo dobry kurs przygotowawczy, wszystko jasne i z ilustracjami
  3. github.com/lucassha/CKAD-resources — przydatne linki i notatki o egzaminie
  4. habr.com/ru/company/flant/blog/425683 — relacja od kolegów z Habr o zdawaniu bardziej zaawansowanego egzaminu CKA

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster