Certified Kubernetes Administrator: як і чому варто здавати оновлену сертифікацію
Всім привіт, я Верхутін Даніїл, DevOps-інженер компанії Teamvoy з 3.5 роками досвіду. Радий вітати DOU-спільноту у своїй першій статті.
18 лютого 2025 року Linux Foundation кардинально оновили сертифікацію Certified Kubernetes Administrator (CKA). Як людина, яка почала серйозно готуватись якраз перед оновленням, можу сказати, що завдання стали набагато складнішими. А ресурсів, по яких можна готуватись, значно менше, як і інформації про підготовку.
Збільшилась тільки кількість постів на Reddit про те, як все більше людей завалюють свої спроби та не знають як взагалі можливо скласти. Але тим не менш мені вдалось скласти з першої спроби на 75% з прохідних 66. Тому хочу, щоб ця стаття була саме такою, на яку мріяв потрапити я у часи підготовки. І загалом, сподіваюсь, повсякденним користувачам Kubernetes буде також цікаво.
Тож перед тим, як говорити про оновлені теми й тому подібне, розкажу про свій бекграунд з сертифікаціями та загалом про CKA.
Мій бекграунд у сертифікаціях
На початку кар’єри я працював на великому ентерпрайз-проєкті у SoftServe, де стек був дуже лімітованим, незвичним та не «модним», скажемо так. Тому з моїм колегою та зараз вже товаришем Дмитром Слотвінським, який, до речі, нещодавно отримав почесне звання Kubestronaut (Діма, я тебе ще наздоганю :)), ми почали вивчати актуальні технології та здавати одну за одною сертифікації. Так я отримав AZ-900, DP-900, AZ-104 та Terraform Associate.
Для всіх цих сертифікацій алгоритм дуже простий: офіційні learning-сторінки платформ, YouTube-курс, проходження дампів питань зі справжніх екзаменів на Exam Topics та повторення тем, де виявлені слабкості. Цим шляхом на екзамені ви ще до того, як дочитаєте питання до кінця, будете вже знати відповідь. Саме через це дані сертифікації ніби втрачають свою цінність. Бо, якщо чесно, можна зайти на Exam Topics, завчити відповіді та «для галочки» здати.
Але якщо по-справжньому вчити, то це ідеальний шлях для того, щоб з будь-яким інструментом дійти «from zero to hero», бо є чітка, зрозуміла структура та мотивація у вигляді бейджика.
На відміну від всіх прикладів сертифікацій, зазначених вище (про всяк випадок зазначу, що аналоги від GCP та AWS також сюди входять), CKA та інші приклади з Kubernetes від Linux Foundation (CKAD, CKS та інші) є набагато складнішими. Бо замість тестів за 2 години треба виконати від 15 до 20 практичних завдань на Remote Desktop з використанням тільки ресурсів у браузері, що дозволені, а це певні сторінки офіційної документації (до яких я ще повернусь). Але саме завдяки цьому CKA став набагато цікавішим та дійсно корисним у справжній роботі.
Кому і чому варто здавати CKA
Кому? Я не впевнений, що це саме те, що треба початківцям. Навпаки я думаю, що цю сертифікацію варто здавати вже доволі впевненим користувачам Kubernetes, які хочуть дізнатись найкращі практики та знайти відповіді, які виникали впродовж всього досвіду роботи з ним.
Говорячи конкретно про мій досвід, з часів SoftServe я дуже хотів працювати з Kubernetes, бо мені здавалось (і здається), що це має бути обов’язковим інструментом у руках DevOps-інженера. Я робив мінімальні пет-проєкти, читав дві книжки, які, до речі, дуже раджу: «Cloud Native DevOps with Kuberenetes», «Production Kubernetes». Але сказати, що в результаті я по-справжньому зрозумів, чим відрізняється Ingress Controller від Ingress, що таке CSI й так далі та загалом як працює Kubernetes під капотом (хоча мені постійно хотілось у цьому хоч мінімально розібратись), я не міг.
Тому, вже перейшовши у Teamvoy, на проєкті мені вдалось продати консервативним замовникам ідею Kubernetes, де він дійсно був потрібен. Почався мій тернистий шлях до Kubernetes у Production — особливо як одного DevOps-інженера у компанії. Якщо чесно, навіть зараз не можу сказати, чи було б мені легше, якби я здав сертифікацію перед цим, чи вже як сталось — після, з тяжко набутим досвідом. Але це, напевно, і є відповіддю на питання чому.
Чому? Ви ніколи ще не працювали з Kubernetes, але дуже хочете: ця сертифікація займе у вас дуже багато часу на підготовку, буде складною і багато чого ви не зможете використати на практиці одразу, але для того і є практичні завдання та симулятори, з якими можна навчитись всього.
Ви вже працюєте з Kubernetes: ну тут можна перерахувати багато чого. По-перше, я нарешті не просто зрозумів, а на практиці побачив архітектуру Kubernetes: інтерфейси, плагіни, API, компоненти, etcd — це все вам треба буде не просто вивчити, а дійсно зрозуміти, щоб успішно скласти екзамен, і CKA надає всі ресурси та можливості для цього. По-друге, після оновлення сертифікації вона почала покривати актуальні та «модні» теми про Kubernetes, у яких можна ознайомитись з різними CNI, CRI, Kustomize, Helm та Gateway API.
Мене це все завжди у прямому сенсі лякало своєю складністю, але на практиці виявилось дуже цікавим та захоплюючим. Я навіть і здогадатись не міг, що Ingress — це вже «минуле століття» і всі мігрують на Gateway API. І я точно буду використовувати його у майбутніх проєктах, бо це дійсно полегшує реалізацію вебраутінгу.
І наостанок — всі ми, напевно, знаємо, що документація — це повний об’єм інформації з конкретного інструменту, але читати повністю її ніхто не буде. CKA допомагає виокремити те, що дійсно потрібно, та ознайомитись повністю з цими компонентами, а не на базовому рівні, як у всіх YouTube-курсах.
Окрім вище зазначеного, я думаю, що CKA через свою складність та практичну реалізацію завдань набагато більше цінується роботодавцями та ком’юніті.
Теми оновленого CKA
Перейдемо до конкретики. Офіційний перелік тем можна знайти тут: https://training.linuxfoundation.org/certified-kubernetes-administrator-cka-program-changes/. Це дуже загальний опис, який мені зовсім не допоміг зрозуміти, що саме треба вивчати.
Тому я б пропонував за основу взяти цей Github, який доповнити наступним:
- Компоненти Kubernetes: зрозуміти їх роль, вивчити, як саме вони можуть хоститись, де можна знайти їх конфігурацію, поширені проблеми у ній, та що вказує на те, що саме цей компонент не працює.
- Affinity.
- Taints and tolerations.
- VPA: за допомогою kubectl explain вміти написати його конфігурацію з нуля, бо прикладів у документації я не знайшов.
- HPAv2: зверніть увагу, що на звичайній сторінці HPA приклад api-версії один, так само як і при виконанні команди kubectl scale. А всі завдання, які траплялись мені, були HPA v2, приклад якого можна знайти на сторінці HPA Walkthrough.
- Gateway API: цим ресурсом можна користуватись у браузері безпосердньо під час складання екзамену. Часто трапляються завдання мігрувати ingress на gateway api. Це не так складно, як звучить, та робиться доволі швидко.
- Network Policy.
- Service Accounts.
- Kustomize: про всяк випадок, але все інтуїтивно зрозуміло зазвичай.
- Helm: робота з репозиторіями, пошук чартів, їх версіонування, отримання їх маніфестів.
Для мене цей список покрив всі теми, що трапилися під час підготовки, у симуляторах та на самому екзамені. Все інше засвоїв вже на ходу під час виконання завдань практично.
Підготовка
- Теорія. Тут буду радити тільки офіційну документацію Kubernetes, Helm та Gateway API. Причому читати по кожній темі сторінки повністю до кінця. Багато питань повʼязані саме з якоюсь специфічною конфігурацією, яка лежить десь у глибині сторінки. Головна мета — орієнтуватись у документації та розуміти всі можливості кожного з інструментів у ваших руках.
- Практика.
- KillerCoda: безкоштовний ресурс, де ви зможете попрактикуватися з усіма базовими завданнями. Але, на жаль, Killer Coda ще не оновили завдання відповідно до актуальної сертифікації.
- KodeKloud: платна підписка. Я не прихильник платних ресурсів загалом, але в даному випадку без цього ніяк через те, що оновлених питань на безкоштовних ресурсах ще немає. Тут можна пройти сумарно 8 симуляторів екзаменів CKA, які є актуальними та відповідають завданням зі справжнього екзамену.
- Killer Shell — можна придбати 2 сесії симуляції справжнього екзамену. Хочу зазначити, що після реєстрації на екзамен ви отримуєте 2 безкоштовні спроби у Killer Shell. Цей ресурс має майже повністю аналогічну платформу до екзаменаційної та завдання навіть трохи складніші за реальний екзамен. Свою другу спробу там, яку складав за години до екзамену, я завалив з результатом 25% більше через розгубленість, але тим не менш.
Практичні поради та нотатки
Довільні поради та нотатки, які я засвоїв на власному досвіді та використовував постійно під час екзамену. Можливо, зараз все це буде виглядати дуже вирваним з контексту, але під час підготовки ви точно мене зрозумієте:
- kubectl <максимальна кількість флагів, що виконують ваше завдання> —dry-run=client -o yaml > file.yaml — ця команда дозволить зекономити час та максимально наблизити шаблон ресурсу до бажаного, щоб не писати все з нуля та не шукати у документації.
- kubectl api-resources — перелік всіх ресурсів, які ви можете використовувати у кластері.
- kubectl explain <ресурс> —recursive — ця команда дозволить отримати всі поля, потрібні для маніфестів певного ресурсу або описати, що входить у конкретне поле (наприклад, kubectl explain vpa.spec —recursive).
- У завданнях, де треба ввімкнути ip forwarding або щось подібне, це робиться зазвичай так: заходите у /proc/sys/net, а далі шукаєте по папках та файлах те, що вам потрібно, та у той файл замість 0 записуєте 1.
- Встановлюються пакети dpkg через dpkg install. Там треба ще зробити start та enable systemd сервісів після (при встановленні CRI точно).
- Знаходити helm chart’и в artifacthub можна командою helm search hub.
- Не намагатись багато чого автоматизувати, а краще робити руками (навіть killer.sh так рекомендують у більшості випадків).
- Бути готовим до того, що є завдання, де треба просто уважно обрати та застосувати найкращий варіант конфігурації з вже готових.
- CNI встановлюється не з kubectl apply -f, а kubectl create -f.
- nodeName у конфігурації подів обходить scheduler та вручну призначає поду на ноду.
Висновки
Незважаючи на довгий та складний процес підготовки, я дуже радий, що мені вдалось скласти CKA. «Головне процес, а не результат», — саме такими словами я можу описати свій шлях до цієї сертифікації. Ті знання та практичний досвід, які я отримав, є дійсно безцінними.
Сертифікація є дійсно дорогою та складною, а після оновлення і незрозумілою якоюсь мірою. Тому сподіваюсь, що ця стаття структурує, полегшить і прискорить ваш процес підготовки та допоможе отримати й успішний результат також.
Пишіть у коментарях свій досвід з проходження CKA та ваші враження від оновленої версії.
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів