Jak zdać egzamin CKA?
W ciągu ostatnich 2 tygodni kilkanaście osób pytało mnie jak zdać egzamin CKA. Jak się do niego przygotować. Na tak postawione pytanie nie odpowiem, ale postaram się udzielić kilku rad. Napiszę jak ja się przygotowywałem.
Dlaczego
Dwa miesiące temu zdałem egzamin CKAD. Wrażenia opisałem Wam tutaj. Przeszłość. Kilka osób namawiało mnie na CKA. A że ja naprawdę lubię uczyć się i poznawać nowe tematy, powiedziałem sobie, dlaczego nie. Przy okazji wyjdę trochę poza Kubernetesa oferowanego jako usługi zarządzane przez vendorów chmurowych.
Najlepszym biczem na mnie jest data. Zasłoniłem więc żaluzje, Żona była w pracy, wyciągnąłem z portfela kartę płatniczą i kupiłem voucher na egzamin. 300$ poszło. Ustaliłem też termin. Później raz go przesunąłem.
Egzamin
Sam egzamin jest podobny do CKAD. Różnica jest taka, że dostajemy 3 godziny (na razie, idą zmiany) i mamy do rozwiązania, z tego co pamiętam, 23 zadania. Oczywiście mamy także “trochę” inny zakres. Dlaczego piszę trochę? Na co dzień pracujemy w Kubenretesie z różnymi obiektami i wg mnie, podchodząc do obu egzaminów wypada znać je wszystkie. W CKA dochodzą tematy związane z zarządzaniem klastrem, troubleshootingiem, backupem bazy etcd.
Czego możesz nie wiedziec?
Pomaga na pewno codzienna styczność z Kubernetesem. Ale to może być za mało, szczególnie, jeżeli pracujesz na co dzień z EKS, AKS lub GKE. Sporo punktów na egzaminie można dostać za zadania związane z czynnościami, których w chmurach raczej nie wykonujemy.
- Koniecznie postaw swój własny klaster przy pomocy kubeadm. Najlepiej kilka razy, ponieważ takie zadanie także dostaniesz w trakcie egzaminu. Tutaj jest dokumentacja, która prowadzi krok po kroku jak to zrobić. Pamiętaj, że możesz z niej korzystać także w trakcie samego egzaminu.
- Naucz się wykonywać snapshot bazy etcd. Pewnie się przyda. Nie jest to skomplikowane, a następne kilka punktów do przodu. Tu znowu przyda się własny klaster.
- Dobrze jest też orientować się jak uruchomione są poszczególne komponenty samego Kubernetesa. Szczególnie kubelet. Miałem dwa zadania związane z naprawą klastra. W jednym z nich problem był właśnie z niedziałającym kubeletem. Tu niestety przydaje się znajomość samego Linuxa. Trzeba wiedzieć jak sprawdzić czy działa i dlaczego nie działa serwis w systemie.
- Jeżeli nie wiesz co to jest static pod to także lepiej się zapoznaj z tematem. Mi się przydało. Znowu kilka procent wpadnie za darmo.
- Temat kolejny to konfiguracja. Już nie klastra, a aplikacji na nim pracujących. Tworzenie secretów i configmap oraz ich montowanie jako woluminy bądz udostępnianie jako zmienne środowiskowe musisz umieć zrobić z zawiązanymi oczami. 😉
- Jeżeli nie korzystasz na co dzień z takich możliwości jak node affinity czy node selector, to także warto o tym poczytać i trochę poćwiczyć. Przy okazji przypomnij sobie jak działają DaemonSety.
- Zapoznaj się z możliwościami kubectl pod kątem sortowania wyników. Naucz się na przykład jak posortować pody pod kątem czasu działania lub woluminy pod kątem wielkości. Możliwości jest wiele.
- DNS. Tak też się pojawia. Naucz się podstaw nslookup. Poczytaj o DNS dla serwisów i podów. Sprawdź czy potrafisz sprawdzić adres dla poda.
A coś praktycznego?
- Podobnie do tego co radziłem przy CKAD, przygotuj sobie kilka aliasów w środowisku. Ja standardowo wpisałem na początku:
alias k=kubectl
alias ka="kubectl apply -f "
alias kd="kubectl delete -f "
export do="--dry-run=client -oyaml"
export fd="--force --grace-period=0"
Przyśpieszy to znacznie pracę.
- Oswój się z vi. 😉
- Jeżeli widzisz, że jakieś pytanie jest warte 2-3%, a zajmie Ci więcej niż przysłowiową chwilę, zapisz je sobie do notatnika i wróć do niego później. Szkoda czasu.
- Zwróć uwagę na jakiej wersji Kubernetesa będziesz pracował. Często w pracy mamy styczność ze staruszkami. Żeby się potem nie zdziwił, że kubectl run i kubectl create robią coś inaczej niż jesteś do tego przyzwyczajony.
- Pamiętaj o sprawdzeniu kontekstu na początku każdego zadania. Najlepiej wykorzystaj komendę, którą masz u góry pytania i czy trzeba, czy nie, ustaw kontekst.
- Będziesz na pewno kilka razy łączył się przez ssh do innych maszyn. Nie zapomnij się z nich wylogować przed przejściem dalej.
Jakieś pomoce naukowe
W sieci jest sporo materiałów. Na pewno warto popatrzeć na zadania z tej strony. Nawet jeżeli ich nie zrobisz to możesz popatrzeć na rozwiązania.
Polecam także killera. Szczególnie tym, którzy jeszcze nie podchodzili do żadnego egzaminu z serii CKA. Można się tam zapoznać ze środowiskiem. Jest bardzo podobne do tego na egzaminie. A jeżeli uda Ci się zrobić wszystkie zadania, to CKA na pewno zdasz.
I na koniec
Nie denerwuj się. To tylko przeszkodzi.
I przygotuj się na przygody. Jeżeli np. masz zainstalowany jakiś wirtualny sterownik do kamery (jak ja, bo podłączam do komputera aparat) to środowisko nie pozwala wybrać kamery. Zonk. Dobrze, że miałem drugiego laptopa.
Wszystko ma działać w Chrome. A nie działało. Podpowiedzieli mi jakąś inną przeglądarkę (nawet nie pamiętam nazwy) i poszło.
W trakcie wyłączył mi się komputer. Tak, nie zauważyłem przy tych zmianach laptopa, że się nie ładuje. Zniknąłem z eteru chyba na 15 minut. Myślałem, że to koniec (a byłem po 21 pytaniach), ale udało się kontynuować.
Jeżeli dostaniesz komunikat, że Cię rozłączyło, to to przeważnie oznacza, że ktoś tam po drugiej stronie jest niedostępny. Nie szalej z odświeżaniem.
I na sam koniec
POWODZENIA!!!