Как мы сдавали экзамен Certified Kubernetes Administrator
В прошлом году у организации CNCF (Cloud Native Computing Foundation), помогающей развиваться таким Open Source-проектам, как Kubernetes и Prometheus, появилась программа сертификации CKA (Certified Kubernetes Administrator). В начале этого лета мы решили в ней поучаствовать и получили первые сертификаты для своих сотрудников. О том, что это, зачем и как происходит, с удовольствием рассказываем всем любопытствующим читателям хабры.
Предисловие
За минувшие годы проект Kubernetes стал по-настоящему большим, собрав вокруг себя многочисленных заинтересованных лиц: как вендоров, так и пользователей (системных администраторов и разработчиков), и сторонних энтузиастов. Это привело к логичному витку в его становлении — необходимости в стандартизации и сертификации.
Так начали появляться программы для партнёров, стандарты для дистрибутивов K8s и, конечно, экзамены для специалистов.
В марте 2017 года впервые была опубликована программа экзамена CKA, репозиторий с которой поддерживается по сей день (в последний раз он обновлялся в начале этого года). Главное его содержимое — это одноимённый PDF-документ:
… из которого можно узнать, какие темы затрагивает экзамен и как эти темы распределены (в процентах) по всему заданию.
15 июня того же года CNCF объявила о начале бета-тестирования экзамена. Ещё тогда пять наших инженеров подали заявки на участие в этом мероприятии:
… однако никакого ответа почему-то не получили… И мы дождались официального старта экзамена, чтобы поучаствовать в нём уже «полноценно».
Зачем нам это?
Довольно популярной реакцией у многих на получение каких бы то ни было сертификатов является вопрос «Зачем?»:
Не претендуя на открытие Америки и универсальность нашего ответа на этот вопрос, просто зафиксируем его здесь для тех, кому он нужен:
- Свои знания и навыки полезно проверять, а в данном случае тест был подготовлен «самой главной» организацией (CNCF при поддержке родительской The Linux Foundation), что даёт основания полагаться на профессионализм и объективность. (К слову, уже доступны и экзамены по Kubernetes от других компаний — подробнее об этом см. в конце статьи.)
- Несмотря на то, что наличие сертификатов не гарантирует каких-то контрактов, а многим такие формальности и попросту безразличны, это всё равно дополнительный аргумент в маркетинге и на рынке даже для тех случаев, когда «вас уже и так знают».
- Участие в подобных инициативах — очевидная помощь для проекта Kubernetes и связанного с ним сообщества.
Подготовка
Сразу оговорюсь, что сдача экзамена подразумевает подписание соглашения, которое включает в себя пункт о конфиденциальности, запрещающий разглашать подробности о заданиях. Поэтому мы весьма ограничены в рассказе о том, какие конкретно вопросы вас ожидают и как к ним готовиться…
Тем не менее, уже упомянутый PDF-документ содержит довольно подробный перечень тем, «куда стоит копать». Мы создали внутренний документ по подготовке к экзамену, в который также вошли следующие ссылки:
- подробное (27 стр.) руководство Candidate Handbook, обновлённое в августе этого года и содержащее исчерпывающие инструкции об экзамене и технике его прохождения (как осуществляется регистрация, какие инструменты доступны во время экзамена и что с ними можно делать, какова политика пересдачи…);
- лаконичные (3 стр.) советы по прохождению экзамена — они были обновлены в июле 2018 г. и рассказывают только о технике (частично дублируя фрагменты Handbook): возможности доступного терминала, используемая версия Kubernetes (1.11), общие сведения об ожидающих вас в заданиях кластерах и тому подобное;
- в качестве основного инструмента для подготовки мы рассматривали каталоги ресурсов, сгруппированных по официальным темам: раз и два;
- не нуждающийся в особом представлении Kubernetes The Hard Way;
- простые способы получить тестовый кластер с Kubernetes: Katacoda и Play with Kubernetes (о последнем мы уже писали в блоге).
Кроме того, мы особо обращаем внимание сотрудников на понимание следующих вопросов:
- как пользоваться встроенными фильтрами kubectl;
- весь цикл деплоя приложения без использования Helm;
- как диагностировать работоспособность кластера.
Наконец, в англоязычном интернете уже можно найти ряд других публикаций, посвящённых этой теме. В них представлены [незначительные] дополнения — где-то к подготовке, а где-то и к самому процессу экзамена. Например:
Ещё одно, как бы «остающееся за кадром», требование для многих будет очевидным, но всё же. Единственный официальный язык для экзамена CKA — английский. Это означает, что вы: а) должны читать и понимать все технические вопросы в заданиях, б) должны обладать минимальным разговорным английским для того, чтобы понимать устные указания экзаменатора во время сеанса и следовать им.
Сколько занимает подготовка? Ответ предсказуем: всё очень индивидуально. Для иллюстрации приведу несколько примеров:
- Наш технический директор Дмитрий Столяров (distol), который по своей натуре предпочитает весьма тщательно готовиться к чему то ни было, суммарно потратил 8 часов.
- Один из наших инженеров, который пришёл в нашу компанию без знаний Kubernetes и, по его словам, «потратил на акклиматизацию к Kubernetes вообще полгода-год (?)», перед самим экзаменом готовился около 6 часов.
- Но если это было про людей, которые имеют практический опыт работы с Kubernetes, есть и обратная сторона… В сети нам попался радикально другой пример специалиста, который купил курс подготовки к экзамену от The Linux Foundation и потратил на всё это около 4–5 недель.
К слову, вот этот онлайн-курс — Kubernetes Fundamentals (LFS258). Он включает в себя материалы на 35 часов (они доступны в течение года после оплаты) по следующим темам:
Стоимость — 299 USD, а вместе с экзаменом CKA — 499 USD (получается экономия в 100 USD). В качестве предварительной подготовки к этому курсу авторы упоминают бесплатный Introduction to Kubernetes (LFS158), про который мы писали в блоге. Однако напомню, что у наших инженеров нет опыта прохождения LFS258 (в том числе и в рамках подготовки к CKA).
Последний штрих: для того, чтобы экзамен состоялся, потребуется стабильный интернет и работающая веб-камера, которую легко перемещать в любые направления, как того потребует «надзиратель» (Proctor).
Процесс
«Создателям экзамена удалось достичь уникального состояния экзаменующегося: полагаться можно только на себя, никакой помощи извне. Проктор (человек вообще не из IT-сферы) не понимает ничего из того, что происходит в экзамене, а лишь внимательно смотрит на ваш экран и веб-камеру. В вебку попросил даже ушной канал показать».
— впечатление от экзамена глазами нашего инженера Андрея Климентьева (zuzzas).
В упомянутом соглашении к экзамену есть довольно строгие требования к месту его проведения и самому процессу. В частности, локация не должна быть публичной, комната должна быть приватной (не допускаются люди кроме самого кандидата) и хорошо освещена (но без яркого света от окон/ламп позади кандидата), рабочий стол должен быть совершенно пуст (без любых устройств, бумажек и т.п.). Запрещено общаться с кем бы то ни было, использовать сторонние устройства, записи, блокноты, документацию (кроме официальной технической документации проекта Kubernetes)… Кандидату запрещается даже есть и пить (для этого можно запросить перерыв):
«Меня за выпивание воды наказали. А я даже не задумывался над этим, потому что очень люблю гидрировать себя». — zuzzas
А вот ещё более «пугающий» опыт со слов distol:
«Самым страшным для меня — оказался запрет «закрывать лицо». Многие люди, когда думают, делают вот так или вот так. А мне нужно разминать виски/брови, причем я делаю это одной рукой — примерно вот так; только рука закрывает все лицо. Соответственно, мне сделали два раза замечания в начале и я весь экзамен тратил существенные усилия, чтобы держать руки на клавиатуре».
Своим коллегам вторит и Андрей Половов (driusha):
Самым тяжёлым оказалось ожидание некого страшного экзамена и сама процедура сдачи на западный манер, где списывать считается постыдным. Во время экзамена приходилось получать замечания за, казалось бы, безобидные поступки: привычка бормотать под нос свои мысли и — самое неприятное для меня — взгляд в сторону для разминки глаз…
Непосредственная сдача экзамена занимает 1,5 часа.
Итог
Касательно технического содержимого экзамена впечатления у нас такие:
Или вот от driusha:
«Суть же экзамена оказалась вполне посильной любому, кто имел реальный опыт работы с Kubernetes. Если это про вас, то ваши шансы очень высоки».
На что ещё советуют обратить внимание наши кандидаты по итогам сдачи CKA, так это на грамотное планирование/распределение времени на выполнение заданий.
В конце экзамена результаты определяются автоматически, однако они не становятся доступными до их проверки вручную. E-mail с финальным результатом приходит в течение 36 часов после сдачи.
Если сдать CKA сразу не удалось, то в стоимость экзамена включена одна бесплатная попытка пересдачи. Впрочем, никому из наших специалистов она пока что не потребовалась. Успехов и вам!
Дополнение
Существует ещё несколько программ сертификации по Kubernetes. Во-первых, в самой CNCF подготовили экзамен для разработчиков — Certified Kubernetes Application Developer (CKAD). В нём кандидатов проверяют на «способности проектировать, создавать, настраивать и публиковать cloud native-приложения для Kubernetes», что подразумевает наличие навыков определения ресурсов для приложения и использования основных примитивов для последующей работы с ними (т.е. сборки, мониторинга, диагностики проблем). Стоимость — 300 USD.
Во-вторых, уже появились экзамены от других вендоров:
- Kubernetes & Docker KCM100 от Mirantis. В момент появления (декабрь 2016 года) позиционировалась как первая в мире сертификация, формально не зависящая от поставщика. Состоит из 30 вопросов, в которых соотношение по Docker / Kubernetes — 20 к 80%. Стоимость — 600 USD.
- EX280 от Red Hat, что полностью звучит как Red Hat Certified Specialist in OpenShift Administration. Легко догадаться, что вопросы экзамена посвящены не upstream-дистрибутиву Kubernetes, а OpenShift (если говорить точнее, то текущая версия основана на Red Hat OpenShift Container Platform 3.9). Стоимость — 450 USD.
Но лично мы к ним всерьёз не присматривались — по крайней мере, на настоящий момент времени.
P.S.
Читайте также в нашем блоге: