My Journey to Becoming a Certified Kubernetes Application Developer

My Journey to Becoming a Certified Kubernetes Application Developer

Sunny Sun lol
Tips to study, prepare and pass the CKAD exam

As a seasoned contractor , I am keen to update my skillset. Recently I passed the CKAD certification exam(Certified Kubernetes Application Developer).

Get ready to roll up your sleeves and put your skills to the test!

The CKAD exam is a hands-on challenge that requires you to solve real-world problems in live environments. It’s not an easy exam, but the payoff is worth it — this exam is highly valued in the industry and can give you an edge in your career. Don’t be fooled by traditional MCQ exams — the CKAD exam truly tests your knowledge and expertise in a way that sets you apart from the competition.

In this article, I am going to share my experiences with the exam.

My background

Before I started preparing for this exam, I had limited knowledge of Kubernetes. I had some exposure to OpenShift, and I understood some Kubernetes concepts like Pod, deployments, etc.

I am familiar with vim and basic Linux commands. This proved to be an important advantage.

How I prepared for the exam

It took me 6 weeks to prepare and pass the exam. I did the following:

  • I completed the Udemy course Kubernetes Certified Application Developer (CKAD) with Tests . This is an excellent course, with up-to-date information.

  • The two mock exams and two lightning labs on kodecloud (provided free if you subscribe to the above Udemy course).

  • CKAD simulator from killer.sh. I practiced it a few times before the exam. You will get two free sessions after purchasing the CKAD exam. Each session allows you to access the simulator for 36 hours, it includes 22 exam questions and 3 preview questions. The simulator questions are slightly more difficult than the real exam, but the style and scope are very similar.

  • CKAD Cheatsheet . It’s essential to get familiar with all the imperative commands.

  • I set up minikube on my Macbook and did a fair bit of practice.

My study strategy is composed of multiple iterations of Udemy courses and practices. After completing the first round of the course, I took the mock exams and lightning labs. The first mock test result was not great, so I went back to the Udemy course to study the related topics again. I repeated this process until I passed all the mock exams and lightning labs within half an hour each.

I applied the same strategy for the simulator exam at killer.sh. During the first session, I couldn’t finish the 22 questions within two hours. After studying the answers and revisiting the topics, I got a good score and completed the 22 questions within the time frame. That gave me the confidence to take the actual exam.

The most important thing is to understand the key concepts. Many of the questions ask you to troubleshoot issues like a Pod or service not working/un-connectable. Without a deep understanding of how those elements work together, it will be hard to answer them.

Before the exam

During the pre-exam check, a proctor will check your exam environment via video. I got a few surprises during the check. Here are a few things you may want to know:

  • Browser bookmarks are not allowed

  • 2nd monitor isn’t allowed

  • the desk needs to be clear (no books, cups, or anything unrelated to the exam)

During the exam

The test is carried out with a Linux VM embedded within PSI secure browser. The platform isn’t very friendly, and the latency is not ideal during the exam. In the beginning, I spent a few minutes figuring out how to properly copy/paste. My vim skill is a great help during the exam.

The first thing I did is to create a few aliases

alias k=kubectl
alias kc="kubectl create"
export do="--dry-run=client -o yaml"

In the exam, I normally use an imperative command to create a YAML file as in the below example.

k -n mynamspace run newPod --image=nginx $do > newPod.yml

Then, I edit the YAML file to add in what is required for the exam question and run the create command to action it.

kc -f newPod.yml

For each question, there is a warning to remind you to switch to the context required for the question. Don’t forget to do that, otherwise, you may get zero marks even if you did everything else perfectly.

The 2-hour exam came with 16 questions (the number of questions in your exam may be slightly different). I completed all questions with 10 mins left. I use the time left re-check my answers. So on average, I spent 6 to 7 mins on each question.

Before the exam, I read some blog posts suggesting answering based on score weighting instead of sequentially. But I didn’t follow this advice. I answered all the questions sequentially. I felt it was a distraction to consider score weighting during the exam. The score weighting is normally linear with complexity. The 2% score question is easier than the 8% score question. If I got stuck on a question, I will move on to the next one regardless of the score weighting.

After the exam

I received a few emails exactly after 24 hours (from the time that exam started) to inform me of the result, badge, certificate, etc. The certificate is valid for 3 years.

Summary

Overall, I felt that the level of difficulty of the exam is similar to the lightning labs in the Udemy course. It’s not difficult to pass if you prepare well and practice enough. I am satisfied with the time and effort spent preparing for the exam because I learned real skills on top of the certificate.

If you plan to take the exam, please remember

  • Study the key concepts and get a good understanding

  • Be good with vim and Linux commands

  • Use alias, and imperative commands to save time

  • Be familiar with the official documentation website

Good luck.