В прошлом году у организации 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;
- как диагностировать работоспособность кластера.
Наконец, в англоязычном интернете уже можно найти ряд других публикаций, посвящённых этой теме. В них представлены [незначительные] дополнения — где-то к подготовке, а где-то и к самому процессу экзамена. Например:
- «How Heptio Engineers Ace the Certified Kubernetes Administrator Exam»;
- дискуссия «CKA Exam advice/tips/tricks?» на Reddit;
- «Things to know before taking Certified Kubernetes Administrator (CKA) Exam».
Ещё одно, как бы «остающееся за кадром», требование для многих будет очевидным, но всё же. Единственный официальный язык для экзамена 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.
Читайте также в нашем блоге:
- «Linux Foundation представила бесплатный вводный онлайн-курс по Kubernetes»;
- «Play with Kubernetes — сервис для практического знакомства с K8s»;
- «Наш опыт с Kubernetes в небольших проектах (обзор и видео доклада)» (включает в себя краткое знакомство с Kubernetes);
- «Инфраструктура с Kubernetes как доступная услуга»;
- «Новая статистика CNCF о контейнерах, cloud native и Kubernetes».