Мой досвед і парады па здачы іспыту Certified Kubernetes Application Developer (CKAD)

Мой досвед і парады па здачы іспыту Certified Kubernetes Application Developer (CKAD)Зусім нядаўна я паспяхова здаў іспыт Certified Kubernetes Application Developer (CKAD) і атрымаў сертыфікат. Сёння хачу расказаць пра самую працэдуру сертыфікацыі і пра тое, як я да яе рыхтаваўся. Для мяне гэта быў цікавы досвед здачы іспыту онлайн пад пільным назіраннем экзаменатара. Тут не будзе каштоўнай тэхнічнай інфармацыі, артыкул мае асабліва апавядальны характар. Таксама ў мяне не было вялікага бэкграўнду ў працы з Kubernetes і не было сумеснай падрыхтоўкі з калегамі, я вучыўся і трэніраваўся сам у вольны ад працы час.

Я досыць малады ў вобласці вэб-распрацоўкі, але я адразу зразумеў, што без хаця б элементарных ведаў Docker і K8s далёка не з'едзеш. Праходжанне курса і падрыхтоўка да падобнага роду іспыту мне здаліся добрай кропкай уваходу ў свет кантэйнераў і іх аркестрацыі.

Калі вы ўсё яшчэ думаеце, што Kubernetes гэта занадта складана і гэта не для вас, прашу пад кат.

Што гэта такое?

Ёсць два тыпы сертыфікацыі па Kubernetes ад Cloud Native Computing Foundation (CNCF):

  • Certified Kubernetes Application Developer (CKAD) - праверка здольнасці праектаваць, ствараць, наладжваць і публікаваць cloud native-прыкладанні для Kubernetes. Экзамен доўжыцца 2 гадзіны, 19 заданняў, прахадны бал 66%. Патрабуюцца вельмі павярхоўныя веды асноўных прымітываў. Кошт $300.
  • Certified Kubernetes Administrator (CKA) - праверка навыкаў, ведаў і кампетэнтнасці для выканання абавязкаў адміністратараў Kubernetes. Экзамен доўжыцца 3 гадзіны, 24 заданні, прахадны бал 74%. Патрабуюцца глыбейшыя веды пабудовы і наладкі сістэм. Кошт таксама $300.

Праграмы сертыфікацыі CKAD і CKA былі распрацаваны фондам Cloud Native Computing Foundation з мэтай пашырэння экасістэмы Kubernetes за кошт стандартызаванага навучання і сертыфікацыі. Гэты фонд створаны Google у партнёрстве з Linux Foundation, якому і быў у свой час перададзены Kubernetes у якасці пачатковага тэхналагічнага фундуша і які падтрымліваюць такія кампаніі, як Microsoft, Apple, Facebook, Cisco, Intel, Red Hat і шматлікія іншыя (з) Wiki

Карацей кажучы, гэта іспыты ад "галоўнай арганізацыі" па Kubernetes. Канешне, ёсць сертыфікацыі і ад іншых фірмаў.

Навошта?

Напэўна гэта самы супярэчлівы пункт ва ўсёй гэтай задуме. Не хачу разводзіць халівар на тэму патрэбнасці сертыфікатаў, мне проста хочацца верыць, што наяўнасць падобнага роду сертыфіката станоўча паўплывае на мой кошт на рынку працы. Усё суб'ектыўна - ніколі не ведаеш, што менавіта паслужыць пераломным момантам у рашэнні прыняць вас на працу.

PS: працу не шукаю, зараз мяне ўсё задавальняе… ну хіба што з рэлакейтам куды-небудзь у ЗША

Падрыхтоўка

У тэсце CKAD 19 пытанняў, якія размеркаваны па тэмах наступным чынам:

  • 13% - Core Concepts
  • 18% - Configuration
  • 10% - Multi-Container Pods
  • 18% - Observability
  • 20% - Pod Design
  • 13% - Services & Networking
  • 8% - State Persistence

На платформе Udemy ёсць проста шыкоўны курс ад аднаго індуса пад імем Mumshad Mannambeth (спасылка будзе ў канцы артыкула). Сапраўды вельмі якасны матэрыял за невялікі поплатак. Асабліва крута тое, што па ходзе курса прапануецца выконваць практычныя практыкаванні ў тэставым асяроддзі, такім чынам вы напрацоўваеце навык працы ў кансолі.

Я прайшоў увесь курс і вырашаў усе практычныя практыкаванні (не абышлося вядома без падглядвання ў адказы), а непасрэдна перад іспытам яшчэ раз перагледзеў усе лекцыі на павялічанай хуткасці і паўторна прайшоў два апошнія выпрабавальныя іспыты (mock exams). Заняло ў мяне гэта каля месяца ў спакойным тэмпе. Гэтага матэрыялу мне цалкам хапіла, каб упэўнена здаць іспыт з вынікам у 91%. У адным заданні дзесьці памыліўся (NodePort не зарабіў), і некалькіх хвілін не хапіла, каб давыканаць яшчэ адно заданне з падключэннем ConfigMap з файла, хаця рашэнне ведаў.

Як праходзіць іспыт

Іспыт праходзіць у браўзэры, з уключанай вэб камерай і расшаренным экранам. Правілы іспыту патрабуюць, каб у пакоі не знаходзілася старонніх людзей. Я здаваў іспыт, калі ў краіне ўжо ўвялі рэжым самаізаляцыі, таму мне было важна знайсці ціхі прамежак часу, каб у пакой не ўвайшла жонка ці не закрычала дзіця. Я абраў глыбокую ноч, балазе выбар часу даступны на любы густ.

У самым пачатку экзаменатар патрабуе паказаць ваш Primary ID які змяшчае фота і ПІБ (на лацінцы) - у мяне гэта быў замежны пашпарт, і разгарнуць вэб камеру на працоўны стол і пакой, каб пераканацца ў адсутнасці старонніх прадметаў.

Падчас іспыту дапушчальна трымаць адчыненай яшчэ адну ўкладку браўзэра з адным з рэсурсаў:https://kubernetes.io/docs/,https://github.com/kubernetes/​ або https://kubernetes.io/blog/​. У мяне гэта была дакументацыя, яе хапіла.

У асноўным акне, акрамя тэксту заданняў, тэрмінала і чата з экзаменатарам, даступна яшчэ акно для нататак, куды можна капіяваць нейкія важныя імёны або каманды - пару разоў спатрэбілася.

Саветы

  1. Выкарыстоўвайце аліясы, каб зэканоміць час. Вось чым карыстаўся я:
    export ns=default # переменная для нэймспейса
    alias ku='kubectl' # укорачиваем основную команду
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # очень нужные флаги, чтобы генерить yaml описание для объекта
  2. Запомніце камбінацыі сцягоў для каманды працаваць, каб хутка генераваць yaml для розных аб'ектаў - pod/deploy/job/cronjob (хоць запамінаць іх зусім не абавязкова, можна проста паглядзець дапамогу са сцягам -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. Выкарыстоўвайце скарочаныя імёны рэсурсаў:
    ku get ns # вместо namespaces
    ku get deploy # вместо deployments
    ku get pv # вместо persistentvolumes
    ku get pvc # вместо persistentvolumeclaims
    ku get svc # вместо services
    # и т.д., полный список можно подсмотреть по команде: 
    kubectl api-resources
  4. Пісьменна размяркуеце час на выкананне ўсіх заданняў, не завісайце на чымсьці адным, прапускайце пытанні і ідзіце далей. Спачатку я думаў, што выконваю заданні ў вельмі высокім тэмпе і завяршу іспыт датэрмінова, але ў выніку не паспеў дарабіць два заданні. Насамрэч час на іспыт адведзены ўпрытык, і ўсе 2 гадзіны праходзяць у напружанні.
  5. Не забывайце пераключаць кантэкст - у пачатку кожнага задання дадзена каманда на пераключэнне, каб працаваць у патрэбным кластары.
    Таксама сачыце за нэймспейсам. Для гэтага я выкарыстоўваў яшчэ адзін хак:

    alias kun='echo namespace=$ns && ku -n=$ns' # при выполнении каждой команды первой строкой у меня выводился текущий нэймспейс
  6. Не спяшаецеся аплачваць сертыфікацыю, дачакайцеся скідак. Аўтар курса часта скідае на пошту прамакоды са зніжкамі 20-30%
  7. Вывучыце нарэшце vim 🙂

спасылкі:

  1. www.cncf.io/certification/ckad - уласна сама старонка сертыфікацыі
  2. www.udemy.com/course/certified-kubernetes-application-developer - Вельмі добры курс для падрыхтоўкі, усё зразумела і з ілюстрацыямі
  3. github.com/lucassha/CKAD-resources - карысныя спасылкі і нататкі пра іспыт
  4. habr.com/be/company/flant/blog/425683 — аповяд ад калег па Хабры аб здачы больш складанага іспыту CKA

Крыніца: habr.com

Дадаць каментар