Ретроспектива складання іспиту CKAD. Як підготуватися та набрати більше балів
Усім привіт! Я — Євген, Platform Engineer в AMO APPS, компанії з екосистеми Genesis.
Шопінг у чорну пʼятницю для айтівців — це можливість придбати курси зі знижками, сертифікаційні програми, воркшопи та підписки на освітні платформи. Саме так 2021 року я купив та після двох років прокрастинації успішно склав CKAD — Certified Kubernetes Application Developer.
Цей іспит — досить простий за завданнями, проте стресовий через численні вимоги та правила. Хоча організатори надають інструкції, все одно виникає відчуття, що інформації недостатньо. Свого часу я багато читав про досвід тих, хто вже склав іспит, і це допомогло знизити стрес та морально підготуватися до усіх процедур.
Тому я вирішив розповісти, як готувався, описати організаційні моменти, дати поради, як швидше розвʼязувати завдання, та порефлексувати, що дала мені ця сертифікація. Стаття не покриватиме завдання іспиту через угоду про конфіденційність.
Як зʼявилася ідея скласти іспит CKAD
Ідея отримати будь-яку сертифікацію Kubernetes зʼявилася, коли я тільки починав знайомитися з цією технологією. На попередній роботі ми не працювали з Kubernetes повноцінно, усі спроби використання обмежувались тестовими етапами без впровадження в продакшн. Тож хотілося глибше розібратися в цьому. У 2021 році я змінив роботу й приєднався до AMO, де якраз впроваджували Kubernetes, але вже «по-справжньому».
Тоді зʼявилася нагальна потреба покращити практичні навички. До того ж трапилася нагода: у чорну пʼятницю Linux Foundation традиційно надавав знижки 50% на різні сертифікації, і я вирішив: чому б і ні?
Іспити завжди давалися мені важко. Ще з університетських часів незалежно від підготовки чи глибини знань вони завжди супроводжувалися великим стресом, який значно впливав на результат. Тому я вирішив почати з найпростішої сертифікації — CKAD (Certified Kubernetes Application Developer), яка підтверджує знання та навички роботи з основними компонентами Kubernetes. Зі знижкою це коштувало близько 200$.
Придбавши її у листопаді 2021, я планував скласти іспит на початку 2022. Проте через повномасштабне вторгнення все відклалося. Повернувся до цієї ідеї я тільки восени 2022. За правилами сертифікації від моменту купівлі надається 12 місяців на складання іспиту. Я звернувся до підтримки Linux Foundation, пояснив ситуацію, і вони продовжили термін ще на рік. Зрештою, склав іспит у грудні 2023, буквально за кілька днів до завершення терміну. На той момент у мене вже був значний досвід роботи з Kubernetes, і я проводив лекції з цієї технології в DevOps-школі Genesis. З одного боку, мої практичні навички були вже достатньо прокачані. З іншого — цей досвід став корисним для менторства і передачі знань початківцям.
Сертифікація CKAD підійде девелоперам та QA, які працюють з Kubernetes, або інженерам-початківцям, щоби структурувати та підтвердити свої знання. Для DevOps-інженерів CKAD може стати першим пунктом у «сертифікаційній подорожі», допоможе побороти початковий страх перед іспитами й набути впевненості у своїх знаннях.
Як готуватися до CKAD
Є різні способи підготовки до іспиту, які залежать від ваших знань та досвіду.
Початківцям платформа пропонує спершу пройти безплатний курс «Вступ до Kubernetes» (LFS158). Далі — «Kubernetes для розробників» (LFS259), який вже є платним. Його можна придбати пакетом разом із сертифікацією — це коштує близько $600 (без знижок).
Тим, хто має практичний досвід, можна готуватися за офіційною документацією. Вона містить безліч матеріалів та прикладів. Водночас слід не забувати про практику. Linux Foundation надає доступ до двох симуляційних спроб іспиту через Killer.sh.
Ще одне джерело підготовки — книга Kubernetes in Action від Марко Лукша. Вона дає інформацію про Kubernetes достатньо просто, не є занудною та затягнутою. Тож корисно буде навіть просто погортати її. З недоліків — це видавництво 2017 року, тож у ній багато невідповідностей як мінімум в частині API, оскільки технологія розвивається досить активно.
Одна з найпоширеніших рекомендацій усіх, хто складав цей іспит — курс на Udemy. Він близький до завдань іспиту, його постійно оновлюють і тримають актуальним. Крім того, що він дає базові знання і вказує на важливі нюанси, на ньому зручно виконувати лабораторні завдання без необхідності розгортати все локально. Система автоматично перевіряє ваші рішення, — це значно спрощує підготовку. Курс часто доступний за акційною ціною, приблизно $13-15.
На той момент я вже достатньо попрацював з Kubernetes у production-середовищі (ми перенесли декілька проєктів), тому не бачив сенсу проходити офіційний курс. Тож для практики я придбав курс Udemy. Загалом підготовка зайняла близько трьох тижнів. Щодня після роботи я планував приділяти цьому 30 хвилин, але часто все затягувалось на
Так, я прокачав навички роботи з командним рядком, особливо з утилітою kubectl. Наприклад, замість того, щоб вручну писати YAML-маніфести для створення Pod, можна швидко виконати імперативну команду, яка генерує базовий шаблон. Загалом на курсі робота з командним рядком була однією з головних тем. Використання імперативних команд замість декларативного підходу допомагає швидко створити потрібний ресурс та зекономити час на іспиті. Хоча у повсякденній роботі ми користуємось цим не часто, лише щоб запустити pod з nicolaka/netshoot для перевірок.
Для успішного проходження іспиту потрібні базові знання командного рядка, а також вміння працювати з документацією. Основні концепції Kubernetes, які треба розуміти: Pod, Service, Secret, ConfigMap, як під’єднати секрет чи ConfigMap до Pod, як працюють ReplicaSet, Deployment, NetworkPolicy, Volume, PersistentVolumeClaim, PersistentVolume. Це базові принципи, які покривають основні можливості Kubernetes. Також важлива практика з утилітою kubectl і знання ключів, які використовуються для виконання команд. Наприклад, вміння використовувати редактори Vi/Vim під час редагування маніфестів, а також працювати з такими утилітами як sed/grep.
Як проходить іспит CKAD
Напередодні іспиту на пошту приходить інструкція з основними правилами та рекомендаціями. Серед них — порада під’єднатися раніше, щоб перевірити зв’язок і розв’язати можливі технічні питання.
Вас попросять показати кімнату, щоби впевнитись що там немає нікого і нічого зайвого, що може допомогти скласти іспит. Зокрема потрібно продемонструвати на камеру, що під столом та клавіатурою і, як не дивно, ноутбуком нічого немає. Стіл має бути повністю пустим. Єдине, що може знаходитися поруч з вами — пляшка води без етикетки. Також, якщо ви будете в худі або сорочці з довгими рукавами, вас можуть попросити підняти рукави та показати руки. Ніхто не має права заходити чи розмовляти з вами, а також не має бути стороннього шуму з сусідніх приміщень.
Далі перевірять документи, попросять показати мобільний телефон. Я заздалегідь вирішив заховати його подалі, однак мене попросили спершу показати екзаменатору й на його очах сховати в іншій кімнаті.
Іспит проводиться під наглядом екзаменатора (проктора), який стежить за вами. Ви його не бачите, а отримуєте через чат інструкції або попередження про порушення правил.
Що не можна робити під час іспиту:
- Спілкуватися з кимось (навіть з самим собою) або читати питання вголос.
- Вставати або виходити з поля зору вебкамери.
- Їсти, жувати жуйку, пити щось окрім води.
- Носити або користуватися будь-якими електронними пристроями.
- Торкатися руками обличчя (підпирати голову або підборіддя, торкатися бороди тощо).
- Записувати або вводити дані поза екраном консолі.
- Відводити погляд від екрана.
- Користуватися блокнотом, ручкою чи будь-якими сторонніми предметами.
- Вимикати вебкамеру, динаміки та мікрофон.
І це неповний перелік заборон. Коли проктор дає попередження, іспит призупиняється, доки проблема не буде усунута. Порушення одного правила двічі або понад чотирьох різних правил призведе до припинення іспиту. Я отримав зауваження, коли, вчитуючись у завдання, підпер голову рукою. Мені одразу надійшло попередження про те, що тримати руку біля голови не можна.
Ці правила і попередження викликають найбільше обурення в учасників сертифікації, адже більшість з них порушуються несвідомо. Отримати дискваліфікацію через те, що ти двічі торкнувся бороди або відвів погляд від екрана, щоби на кілька секунд розслабити очі — несправедливо. А також це сильно відволікає і забирає час, якого і так обмаль.
Іспит складається з
Завдання були суто практичними та досить простими — не було нічого, чого б я не знав, чи з чим не стикався б раніше. Проте швидкість та уважність — вирішальні.
Учасникам дозволяється користуватися офіційною документацією Kubernetes і Helm, яку можна відкривати у браузері цього віддаленого робочого стола. Повний перелік є за посиланням. Жодних інших вкладок та сайтів відкривати не можна.
Завдання оцінюються автоматично. Щоби скласти іспит CKAD, потрібно набрати щонайменше 66%. Результати приходять протягом 24 годин. Раніше термін дії сертифікатів складав три роки, нещодавно цю політику переглянули та скоротили до двох років.
Як полегшити складання іспиту
- Стаціонарний комп’ютер з великим монітором.
За правилами іспиту можна використовувати лише один монітор через технічні нюанси з PSI Secure Browser. Linux Foundation рекомендує мінімальний розмір екрана 15 дюймів, проте навіть на MacBook з
Памʼятаємо, що час на виконання завдання обмежений, тож швидкість навігації між вікнами та командним рядком важливі. На екрані має одночасно бути відкритим термінал, браузер, чат з проктором, який стежить за іспитом. Також на великому моніторі комфортніше читати дрібний текст. Найкраще мати великий монітор, а також зовнішню вебкамеру, яку можна легко пересувати, щоби показати приміщення.
Варто переглянути технічні вимоги, підбираючи обладнання для іспиту.
- Резервне живлення.
Якщо під час іспиту у вас відвалиться інтернет або трапиться чергове стабілізаційне відключення — іспит буде скасовано. Я під’єднав ноутбук до EcoFlow, а роутер до безперебійника. Також проктор може попросити включити додаткове світло в кімнаті, — ви маєте бути готовими виконати цю вимогу.
- Оптимізація швидкості.
Щоби ефективно витрачати час, використовуйте імперативні команди kubectl для створення ресурсів замість ручного написання YAML-маніфестів. Наприклад, замість створення Pod за допомогою YAML виконайте імперативну команду, яка автоматично згенерує базовий шаблон. Це значно прискорить роботу і допоможе швидко налаштовувати ресурси Kubernetes.
kubectl run nginx --image=nginx:1.25.3-alpine --expose --port 80 -oyaml --dry-run=client kubectl run nginx --image=nginx --restart=Never --namespace my-app -oyaml --dry-run=client
Чогось складнішого за ці команди мені на іспиті не знадобилось. Але нехтувати цим не варто. Пропоную для ознайомлення статтю, де зібрана велика кількість таких команд.
Також можна використовувати скорочені аліаси для частих команд та прокачати навички швидкої навігації в документації. Все це допоможе заощадити зайві хвилини. Якщо зустрічаєте складне завдання, яке забирає багато часу, краще перейти до наступного і повернутися до нього пізніше.
Чи вартий CKAD зусиль
CKAD часто сприймають як формальність, і це частково правда. Сертифікація не є універсальним способом оцінки знань. У світі є чимало фахівців, які чудово знаються на Kubernetes до найдрібніших деталей, але ніколи не складали жодного сертифікаційного іспиту.
З іншого боку, CKAD — це чудовий спосіб підтримувати професійний тонус і розвиватися. Навіть для сеньйорів DevOps, яким здається, що вони знають усе. Наприклад, можна актуалізувати знання за останньою версією Kubernetes. Цей інструмент має доволі активний цикл оновлення — кожні три-чотири місяці випускаються оновлення, а застарілі версії Kubernetes стають end-of-life приблизно за рік. Іспит сформований на останній версії, тому це хороший спосіб залишатися в контексті нововведень, якщо раніше ти не приділяв цьому достатньо уваги.
Для джунів CKAD — це додаткова перевага на ринку праці. Для досвідчених фахівців сертифікація — скоріше приємне досягнення, ніби «ачівка» у грі.
Загалом вважаю цей досвід цікавим та корисним. Чи повторив би я його? Так, я планую найближчим часом отримати CKA — Certified Kubernetes Administrator. Ця сертифікація дозволить заглибитися в інфраструктурну частину Kubernetes, наприклад, роботу з kubeadm, створення та додавання нод і концепції глибшого рівня.
Також закликаю спільноту активніше ділитися своїми історіями складання подібних іспитів. Більшість матеріалів, які я знаходив, були в англомовних спільнотах. І було б дуже цінно почитати про досвід колег.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів