Мій досвід та поради щодо складання іспиту 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/ua/company/flant/blog/425683 — розповідь від колег по Хабру про складання складнішого іспиту CKA

Джерело: habr.com

Додати коментар або відгук