How I mastered the Certified Kubernetes Application Developer (CKAD) exam

Jürgen Etzlstorfer
5 min readDec 23, 2020

--

I was finally taking my Certified Kubernetes Application Developer (CKAD) exam last weekend.

In this article, I want to briefly reflect on how I prepared for it, what helped me most, and which mistakes I made (and you should avoid). Although there are already a couple of blogs out there, each journey is different. Make sure to do some research to find an approach that fits your learning style best. Here is how I did it.

Course material

Like for many others, my main training resource was the incredibly valuable “Kubernetes Certified Application Developer (CKAD) with Tests” course on Udemy, given by Mumshad Mannambeth, plus the exercises on KodeKloud. If you are in the lucky position that your employer provides access to this kind of learning material (thanks Dynatrace!) definitely give it a try. But nevertheless, I would argue that this course is definitely worth the money you spend on it.

The course starts from all the basic concepts in Kubernetes that are absolutely inevitable and provides hands-on labs for pretty much everything you will learn in each section. My advice: do not skip any of those hands-on labs as you will definitely need practice before you take your exam. Especially the lightning labs at the very end are excellent. I was already familiar with Kubernetes as I’m one of the maintainers of a CNCF sandbox project built on Kubernetes. This was a perfect start, but the course material covers every single aspect you need to know for the exam which you might not have touched before. Again, I definitely recommend getting some training course for the exam. There is a lot of other material out there (e.g., Game of Pods, or sample exams), but for my part, I did it solely with the mentioned course and provided labs.

Getting familiar with the tooling

Be aware that the CKAD (also CKA and CKS) exams are 100% hands-on. No multiple-choice. No examiner asking you questions. Just you and a console with access to a Kubernetes cluster, along with tasks to complete. As you might already know, time is of the essence in passing the exam. Make sure you do not spend any second thinking about how to write a kubectl or frequently used Linux commands such as grep. You have to be fluent in this!

Equally important is to be fluent in editing Yaml files. You will be dealing a lot with it! Make yourself familiar with vi or a similar tool and practice editing Yaml with it. Commands such as dd (cut), yy (copy) and p paste will save quite some time.

Use imperative commands

Don’t waste your time in copy and pasting Yaml that you can also create with your console— here is how: kubectl create deployment nginx --image=nginx --replicas=4 --dry-run=client -oyaml > nginx.yaml will give you a nice Yaml that you can customize and then apply. You can use it for pods, deployments, exposing them, and many more use cases. Make sure to know how to create these files with imperative commands to save valuable time.

Getting familiar with the documentation

Since you are allowed to use the Kubernetes documentation during the exam — use it! Again, you want to save some extra seconds by already being familiar with it. Therefore, when going through the examples of the Udemy course or any other course material you are using, make sure to consult the official documentation in case of questions before starting your favorite search engine. Another pro tip: bookmark sections of the documentation in your browser that already point to a Yaml! Doing so you don’t need to scroll and read through it, but you can directly copy the needed Yaml for the task at hand.

The exam

You can login around 15 minutes before your chosen exam time. Use this time to do some needed preparations such as validating your identity. In my case I had some troubles with screensharing (make sure to open only a single instance of Chrome!) and using these extra minutes helped me stay calm. However, rest assured that the exam clock won’t start before you have done all the prerequisites.

Time management

As already stressed, for most of us time will be of the essence during the exam. There are 19 tasks to solve within 2 hours, giving you around 6 minutes for each of them. My advice: skip any task that you can not solve immediately and come back to them later. Make sure that you have seen all of the tasks before you go back to those you have skipped. They are not ordered by difficulty, meaning that some tasks at the end might be easier to solve than some tasks at the beginning of the exam.

Also, do not spend too much time on a single task. If you can not complete it, move on to the next and keep it for later. I kept one task for the very end and only addressed it once I was positive I don’t have to work on the other tasks anymore. This gave me the chance to focus on this single task at the end, without having to worry about anything else.

Unforeseen problems

Do not expect that you can customize the environment in any way you want it. In my case, the creation of kubectlauto-completion in the bash was not working and I lost my alias k for kubectl during the exam. Make sure you can work with a standard toolset (although I hope in your case everything will work fine!)

Also, my exam portal crashed during the exam and I couldn’t move on for the next 10 minutes. If that happens, stay calm and reach out to the proctor. They will help you eventually.

Final remark: Plan your exam date

One mistake I made was not planning the date of the exam ahead. Without a concrete goal and deadline, the certification took me longer than needed. The course material is about 10–15hours of training, not including exercising everything you learn. However, my certification process took months, only because I didn’t plan ahead. If you go for the exam — make sure that you plan some time to get your training and exercises.

Acknowledgments

I want to thank a couple of people who helped me in completing this certification. I truly believe speaking to other CKA(D) alumni is one of the best ways to prepare for the exam. In my case: Thanks to my friend and meetup co-organizer Juliano Costa (who also shared his tips), as well as my colleague Thomas Schütz at Dynatrace for answering all my questions around the certificate! In addition, thanks to my mentor Andi Grabner, and the whole Keptn team as an inspiration to take the exam!

I hope this article helps you in preparing for your certification! All the best for it! If you have any questions, you can reach out to me on Twitter or LinkedIn.

--

--