Моят опит и съвети относно полагането на изпита 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 и много други (c) Wiki.

Накратко, това са изпити от "главната организация" по Kubernetes. Разбира се, има и сертификации от други компании.

Защо?

Вероятно, это самый противоречивый пункт во всей этой затее. Не хочу поднимать спор о необходимости сертификатов, мне просто хочется верить, что наличие такого сертификата положительно повлияет на мою стоимость на рынке труда. Все субъективно — никогда не знаешь, что именно послужит переломным моментом в решении принять вас на работу.

PS: работу не ищу, сейчас меня всё устраивает… разве что с релокацией куда-нибудь в США.

Подготовка

В тесте CKAD 19 вопросов, которые распределены по темам следующим образом:

  • 13% – Основные концепции
  • 18% – Конфигурация
  • 10% – Много контейнерные Поды
  • 18% – Наблюдаемость
  • 20% – Дизайн Подов
  • 13% – Услуги и сеть
  • 8% – Сохраняемость состояния

На платформе 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 + пространство
    alias kudr='kun --dry-run -o=yaml' # много полезни флагове, за да генерираме yaml описание за обекта
  2. Запомнете комбинациите от флагове за командата run, за да генерирате бързо 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/ru/company/flant/blog/425683 — разказ от колеги в Хъбру за полагането на по-сложния изпит CKA

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster