Passing Kubernetes Certification Exams — CKA and CKAD

Manjit Singh
8 min readOct 5, 2020

There are lot of resources about taking Kubernetes certification exams. I am sharing my experience because it involves a failure that was not for lack of knowledge but lack of timed practice from exam point of view. Good thing is that I passed both exams few days later. I have taken lot of certification exams and this was my first failure in last 20 years, so was bit hard to take. My current non-expired certification list is at the end of this page.

In 2019, I paid for CKAD and CKA exams but did not get chance to go for them. I got email from Linux Foundation that I was running out of time to take exams. I thought as a developer working with Kubernetes, I should not have to prepare a lot for CKAD exam, so scheduled it first. Also, I had to do it this way because there was no time left to schedule free retake in CKA by the time result would have come. So, I intended to use CKAD as testing ground because I had not taken lab/task-based exam.

I had experience working with Kubernetes and had already taken few courses. In addition, I searched for exam tips/guidance and found especially useful articles on medium.com. Doing practice on Linux Academy with their playground severs helped a lot. I was confident on exam day buy by end of it I knew the result. You get result after 36 hours, but I could complete only 2/3rd of the exam, so I knew the outcome. With my full-time job, I only had two weekends before CKA exam. Being a developer, I knew I also had to cover some topics for CKA that I do not need to know as part of my job. But first it was time to note down why I failed. Good thing was that based on score I knew that even if I had finished half of what I had left, I would have passed.

I already knew that it was task based exam and needed to practice. What I did not do was to make it very efficient. Yes, there were couple of questions that I might have gotten wrong but over all I did not feel it was lack of knowledge. This also gave me confidence to continue. So, I came up with following:

  • 19 Tasks have to be done in two hours but not all tasks are equal.
  • Some questions are so long that you have to scroll and some questions are much shorter.
  • Not all questions have same weight. It can vary from as low as 2% to double digits.
  • We are allowed to open one tab for official Kubernetes documentation. But if you need to use it very often, you may not have enough time. More on this later.
  • This exam is not just about knowing but also about careful time management to finish all tasks in time

I came up with following plan before next exam:

  • If question weight is 2–4% and has long problem statement (would take longer to understand the question), skip it. I would note these in notepad with weight like Q2(3%), Q7(2%). This would allow me to later get back to them in descending weight order.
  • Better skip a question if getting stuck. Exception is any question with weight in double digits. I would give them extra time because they must be finished now or later. On the other hand, skipping 3 questions in low single digits completely may still be ok
  • Bookmarked some documentation links that I thought I may need to get back to from syntax point of view. This is only for situations where you know the solution but may need help with syntax. This was backup plan if next point did not work. Luckily I did not had to use it often:
  • Practice a lot with CLI. It’s much more efficient to ask help at command prompt with -h than go to documentation. Also, much better to generate yaml from cli by providing basic syntax for required resource and then update yaml in editor. If you do not normally take this route but intend to do so in exam, then practice a lot.
  • Practice in timed manner

Resources I used and steps I took before next exam:

  • Setup some quick kubectl commands
  • Practiced a lot with CLI using -h and also going direct to documentation when needed. Remember, — export flag does not work any more. So, if you have to generate yaml for existing resource, practice that with your preferred way. I would just generate yaml for resource or open it in edit mode when feasible and then quickly search for what I needed to change.

For example, to run busybox pod and some commands inside, using CLI and shortcuts mentioned earlier, command would look like following:
k run podX --image=busybox $dry --command -- sh -c "touch /tmp/ready && sleep 1d" > my-test.yaml

It is much easier then to open and edit yaml rather than starting from scratch.

  • I don’t have to install Kubernetes clusters at work, so had to practice that. Used three linux servers to do master and nodes starting from base linux machines. Most people had recommended to go it hard way to understand it.

CKA Exam:

  • Was pretty confident on exam day. Had worst possible start though. Some network issues on their servers caused one hour delay and multiple phone calls later was finally able to start. I was way past their 15 minute window to start the exam.
  • I was able to follow my plan to skip some questions and make notes
  • CLI way really helped. Had to go to documentation only couple of times but when I did copy/pasted big yaml, vi setup helped to format it quickly
  • One big mistake. As mentioned previously, I practiced to install clusters but only from scratch and manually. Exam curriculum clearly mentioned Kubeadm. Somehow I totally forgot about that. Paid price for that in exam. I had to skip high weight question because of that. This question combined with couple of smaller weight questions, I had to leave 15% on the table.
  • 36 hours later got the result and had passed it with 84%. This meant whatever I did complete, I did it correct.

Now with this confidence, I scheduled to take CKAD exam same week because I did not feel like I needed special preparation. Just revised some of same stuff that I had done earlier. I was able to finish exam this time. I was not confident about 10% of questions. When I got the result, I was bit shocked. I got 82%. I was expecting it in 90s. My suspicion is that I must have named some resource to be created wrong. Would never know. But it was not about score anyway.

Why I go for certification exams:

We all may have different reasons to take these exams. My reason has always been that it forces you to cover a given technology horizontally. I am not expert in any way at the end but it forces me to have wider look at technology, including the areas I may not have been exposed to at job yet. Also, most exams also expose you to some good guidelines/ best practices. So, score does not matter but failure is also not acceptable;)

Some generic tips about proctored exam:

If you have never taken online proctored exam, please keep following in mind:

  • Room must be clear of any printed material. You would be asked to show whole room and especially desk and under the desk
  • They are constantly monitoring through webcam. In both exams, I got warning for keeping my hand on mouth
  • You are allowed to use extra monitor. I did not use laptop screen. Don’t need multiple screens but having big screen and external keyboard/mouse helps
  • Make sure to kill all processes other than browser. They would verify it anyway

Summary:

In my case, I failed CKAD on August 5 and then passed CKA and CKAD few days later. My knowledge did not change but my understanding of exam format changed and realized my limitations. Being windows developer, my experience with vi editor is always limited. My speed to write/edit yaml was slow. On the job it does not matter if I take 5 minutes to edit yaml, in exam I may only have couple of minutes. Just like any other exam you need to have subject knowledge but these exams are also about speed/time management because they are actual tasks and not multiple choice questions.

Good Luck!

My current certification list

--

--