The CKA experience
Tags: kubernetes, devops, cloud
Published: 2021-04-18 20:23:55

---
title: The CKA experience
published: true
description: What's the exam like
tags: kubernetes, devops, cloud
//cover_image: https://direct_url_to_image.jpg
---

It feels a bit strange to finally take the CKA exam about 5 years after getting into Kubernetes and the CNCF ecosystem. Some friends came to me a bit puzzled wondering why I felt the need to get validated after all this time. Was I looking for a boost for a potential job search? Was I insecure about my skills?

In truth, it was a bit about the second one. When you're learning things on your own, there's no objective way to tell how much of a domain you've got covered at any given point in time. In any technical field, things change fast and while on the job you'll be able to keep up only insofar as it relates to the things you're using on a daily basis.

Case in point, I got my first contact with Kubernetes on its 1.5 version. I've used only its basic concepts (and not as often as I would've liked) and by the time it hit 1.10, I felt I had to re-learn it.

Certifying (while doing the LF course) was a way to get a baseline on my knowledge while also looking into what's considered important by CNCF. So here's what it was like:

## How difficult was it ? ##

I was told it was tough as beyond working with key concepts like Pods/Deployments/Services/Ingress and storage, it also deals with troubleshooting, some basic security and scheduling. You're also allowed access to Kubernetes docs and Kubernetes Github repos.

But it didn't feel tough. There was a bit of pressure since it's a proctored exam and you're always sharing audio/video, so someone is always watching you.

None of the tasks were particularly challenging IMHO, but at the same time they touched all the important bits. Can you fix a node? Can you juggle contexts in the CLI? Can you isolate namespaces? Can you do basic backups / upgrades ?

## Do you really have to master kubectl? ##

No, but it really helps. The kubectl cheatsheet was the second most important resource I got to use (the first being the docs about volumes, which is the worst bit of Kubernetes documentation in that the most relevant examples are not on that page!).
If I had a better mastery of kubectl I think I could've finished with more time to spare.
Also, you can yaml all you want, but you can't use anything on your computer so all you have is vim inside the terminal emulator and a notepad that comes with the testing platform (which is atrocious as it's basically Notepad with no formatting options and a lot of input lag).

## Is the LF course worth it? ##

It's worth it in the sense that it's the most updated course you can find. During my preparations the stable jumped from 1.19 to 1.20 so for the most part I prepared for 1.19 but the exam was from 1.20. The course was also mentioning 1.19 but got updated along the way to 1.20. In this case there was nothing particular to 1.20 that came up but you never know when significant changes make it into the exam.

Another interesting thing is that I had access to a few others preparatory materials from Packt, Udemy and from PluralSight. The Packt one was much more on point and easier to follow than LF. Udemy had way too much info and the writing was pretty bad. PluralSight had a nice structure but very little practical exercises (here LF really shines - the lectures are boring as hell and the guy that speaks could put anyone to sleep, but the practical bits are the best).

None of the other courses used 1.20 (didn't check them much afterwards though).

I'd say it's worth it if you have the feeling that in your daily life you haven't had the chance to touch things like NetworkPolicies and haven't done manual work with volumes (beyond using them straight from Deployments).

## Have you used any other resources ? ##

I got a mock exam pack from Killer.sh.
They say it's tougher than the actual exam and it is! In many ways I feel like Killer.sh should be the real exam! In CKA you have 17 questions in 2 hours. In the Killer.sh mock you have 25 in 2.5 hours.
In CKA most questions have a task to complete and a few have 2-3 simple tasks.
In Killer.sh a question rarely has a single task and there are some with as many as 5(!!!) tasks to complete.
For the money, Killer.sh is probably the best single resource to learn & prepare, but there are some caveats in that not all answers are objectively correct (eg: I had a task to create a local volume and their solution used HostPath but it was done on a multi-node cluster - the official docs specifically say HostPath doesn't work in a multi-node environment).

## Did you get it on the first try ? ##

Nope. A voucher gives you 2 attempts, but I scheduled the first without having the intention to pass. As I also had my 2 Killer.sh mocks, I scheduled the first real CKA attempt just to see how things go. 
I skipped a few questions and I know I bungled the troubleshooting on the first attempt though I still came close (58% vs 66% threshold). They tell you the score if you fail, but not when you succeed.
I think it was a good strategy, as the second time around I was familiar with the proctor system and had time to prepare the room (you're not allowed anything on the desk and no devices within reach - always a challenge in a tech-oriented household). 

## Is the certification worth it ? ##

No idea. To me it feels good in the sense that I consider certifications relevant as long as they come from whoever maintains the domain of certification. Amazon certifications for AWS, Scrum.org certifications for Scrum, CNCF certifications for Kubernetes and other Cloud-Native things and so on. I'll probably attempt a Google certification for my GCP skills.
How relevant the actual tests are and how relevant are the particular skills being tested, that's up for debate. CKA is a practical test, for sure (you're there with a bunch of clusters and the CLI) but nobody asked for a custom Scheduler configuration, if you get my drift. 

Hope this helps someone!