Certified Kubernetes Security Specialist — мой опыт сдачи экзамена

6e6d9c95b0e62ac4041a905b4d45269f.jpg

TL; DR

  • отнеситесь серьезно к качеству интернет-соединения. Из РФ ВПН не нужен

  • популярные курсы не охватывают экзамен полностью (есть смысл поискать старые дампы на github)

  • назначайте первую попытку хотя бы за месяц до окончания времени сдачи экзамена, таким образом, если завалите первую попытку, будет время подготовится ко второй

  • за несколько дней пройдите killer.sh, получите выкладку ответов и после прохождения несколько раз пройдите у себя в домашней лабораторной

  • обязательно будет задание на анализ поведения, на выбор дают falco и sysdig. Возьмите sysdig, на экзамене он сэкономит время, потренируйтесь в этом перед сдачей

Всем привет. Как видите из скана сертификата, я успешно сдал экзамен на сертификат Certified Kubernetes Security Specialist. Но мой путь был не совсем гладким, и здесь я поделюсь этим.

CKS самый сложный в линейке практических экзаменов по Kubernetes от CNCF. Я не буду расписывать это, поскольку в интернете полно информации, упомяну лишь, что к сдаче допускаются кандидаты, уже подтвердившие себя в экзамене Certified Kubernetes Administrator.

У меня хороший практический бэкграунд в части Kubernetes, также я преподаю в этой части, поэтому сдать экзамен CKA 2 года назад проблем не составило — сдал с первой попытки на 92 балла, а материалы подготовки легли в основу авторского курса.

Примерно по такой схеме я решил действовать и в этот раз с CKS — собрать материалы, скомпоновать их и, подготавливая их в виде курса, попутно сдать экзамен.

Основой моей подготовки кроме доки Kubernetes стали самые популярные по теме ресурсы: https://kodekloud.com/, а также курс от создателя https://killer.sh и https://killercoda.com/ — Kim Wustkamp.

Также было несколько репозиториев с github, информация в них большей частью устарела, т.к. и версия Kubernetes, и версия экзамена не стоят на месте.

Тем не менее я собрал кучу лабораторных работ из этих материалов, выкатил их на своей обучающей площадке и начал по ним себя тренить.

Когда я начинал, экзамен был v1.23, когда сдавал — v1.26. И там произошли важные изменения. Основные, которые коснулись экзамена то, что отменили PodSecurityPolicies, а также изменилось поведение ServiceAccounts.

У Mumshada с kodekloud курс уже устарел, ему 2 года, и в него не вносились правки. Особенно отстал в части Open Policy Agent, но практическая часть у него на современных кластерах.

У Kim все отлично с материалом, самые последние кластера в онлайн-песочницах, но есть много дополнительного материала, который для экзамена не нужен.

Это действительно круто и полезно, эти знания и навыки останутся с тобой, но с перспективы подготовки к экзамену возникло очень широкое поле тем, которые нужно охватить. Из-за этого фокус сбивается. Ты не знаешь, что будет на экзамене, а официальные партнеры CNCF даже намекнуть нормально не могут.

Экзамен предполагает получение доступа к 2 попыткам симулятора killer.sh. Штука классная, очень помогает собраться перед экзаменом и понять свою ничтожность.

Помня, как сдавал CKA, я за неделю до сдачи экзамена CKS взял окружение killer.sh.

Оно дается на 36 часов, раза три прошел, а интересные вопросы забрал себе в проект и сделал из них муляж экзамена. Потом пару дней тренил на нем.

В целом, к тому времени я почувствовал себя полностью готовым к сдаче. Я прошел все лабы, до которых смог дотянуться, более того, я их разобрал и реализовал у себя на ресурсе, поэтому знал все изнутри.

Но как оказалось, я сделал несколько ошибок.

Во-первых использовал ВПН и мобильное соединение.

Я живу в РФ, к тому же за городом. ВПН использовал, т.к. друзья напугали, что экзамен не примут из РФ. Из серии одна бабка сказала. И это ерунда, как оказалось.

За городом у меня интернет только мобильный. В тестах PSI (это контора, которая проводит экзамен) к соединению вопросов не возникло. Тем не менее мобильный канал был сильно неустойчивый и 2 раза на экзамене отваливался.

По правилам каждый раз приходится заново подтверждать личность, показывать проктору комнату и т.д. Когда это происходит посреди экзамена твое напряжение нарастает, фокус теряется.

Во-вторых я готовился по материалам официальных партнеров. В случае CKA это оправдано, он сильно проще. В случает CKS — нет. Из 16 вопросов, 2 не были рассмотрены ни в курсах, ни в репозиториях, по которым я готовился.

Третий момент — среда сдачи экзамена. С июня 22 года удаленный терминал заменили на виртуальную машину, к которой можно подключиться через аналог удаленного рабочего стола. Это всё сильно лагает, задержки очень ощутимые.

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

В итоге в конце второго часа я решил 12 заданий из 16, 2 задания не знал как решить, поскольку не сталкивался с этим, а искать ответы в доке на экзамене не вариант, слишком дорогое время. 2 задания были сделаны не полностью, в них я не был уверен.

Сумма сдачи 55 баллов, при проходном 67. Т.е. я завалил.

Но оказалось, что CKS, как и CKA, предполагает вторую попытку. Я записался на сдачу через неделю, и теперь я уже понимал, и что от меня будут требовать, и как выстроить свою тактику.

Сначала я поехал в город к родственникам с проводным интернетом, протестил соединение и договорился, что буду сдавать от них и без всяких ВПН.

Следующий момент был сфокусироваться на заданиях. Пока ты на экзамене, ты все помнишь. На следующий день почти все детали забыты.

Поиск в интернете по запросу CKS dumps ничего не дал. В Телеграм каналах за $100 добрые индусы готовы их продать. Но я не хотел покупать.

Тем не менее, внутри экзамена есть уникальные идентификаторы ресурсов. По этим ключевым словам удалось найти на github версию экзамена v1.24.

Из этой версии не все задания вошли в v1.26, но как только я начал их читать, недостающие детали всплыли в памяти.

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

Ок, теперь я снова был готов и осталось только сдать экзамен. Это заняло 80 минут. Еще 30 минут на проверку.

Теперь соединение не рвалось, но тормоза были примерно такими же, как при ВПН, ну может немного получше. За 5 минут до конца я закончил экзамен, поскольку не знал, что там еще делать.

И это все.

Здесь я описал свою тактику. Следовать ей или нет ваше дело. Я хотел подсветить проблемы экзаменационного окружения и того, что в экзамене есть темы, которые не охвачены в наиболее популярных курсах.

Дальше я дам ссылки на ресурсы, где я готовился. Что-то из них обновляется, что-то уже нет, но это бесплатно.

Репо с дампами я не буду приводить. Если очень нужно — найдёте сами.

К тому же я реализовал это в лабах на своем ресурсе: https://rotoro.cloud/lessons/mock-exams/ — это экзамены #4 и #5. Они будут доступны после 5 марта 2023, т.к. их нужно переработать, чтобы они не были так похожи на реальный экзамен.

Успехов в сдаче! Далее ссылки:

https://github.com/snigdhasambitak/cks/tree/main
https://github.com/bmuschko/cks-crash-course/
https://github.com/sanchitpathak7/Kubernetes
https://github.com/knabben/k8s-labs/tree/main/CKS
https://github.com/walidshaari/Certified-Kubernetes-Security-Specialist
https://github.com/latermonk/CKS-Tasks
https://github.com/abhi15sep/Kubernetes-Final/
https://github.com/Ghostwritten/kubernetes-exam-in-action
https://github.com/KojoRising/CKS_Prep

© Habrahabr.ru