In October 2024, I passed the Certified Kubernetes Application Developer (CKAD) exam with flying colors! It was one of the most enjoyable exam experiences in my life so far. In this blog post, I attempt to describe why this is and how I prepared, hoping it will be useful to anyone who wants to pass the exam and earn that badge as well.
Why CKAD?
Containerization and container orchestration technologies like Kubernetes become more popular every day. In fact, I work with these technologies almost every day in my current job as a Software Engineer. My employer gave me the chance to upskill in this area and prepare for the CKAD exam, which was a great opportunity to sharpen my Kubernetes and cloud-native skills.
My motivation for the CKAD was mainly driven by closing knowledge and skill gaps, improving overall understanding of Kubernetes and cloud-native strategies, profiting from high quality training, being able to better communicate with other technical stakeholders (e.g., DevOps), as well as sharing my knowledge with my team.
Preparation Resources
As part of my exam preparation, I used several resources and materials from various sources. I will present each of them here briefly, including aspects I liked and didn’t like about them.
CKAD Udemy Course by Mumshad Mannambeth
Like many other CKAD candidates, I used the popular Udemy course “Kubernetes Certified Application Developer (CKAD) with Tests” by Mumshad Mannambeth and KodeCloud as my main exam preparation. The course is overall really well-made, well-structured, comes with plenty of small exercises (in the KodeCloud environment), and teaches you everything you need to know to go into the exam.
The course is very worth its money (especially on Udemy’s flash sales), and I highly recommend taking it. I would, however, not solely rely on one resource, which is why I combined this course with other training materials.
CKAD Certification Path by Pluralsight
In addition, I watched the whole CKAD preparation course on Pluralsight, which was about 15 hours of video content. Pluralsight requires a subscription to access its materials on the platform. Luckily, I already had such a license thanks to my employer. The video course and study materials are of very high quality, and I can really recommend watching it, if you have the chance, of course. I wouldn’t say that you need to combine it if you already have the Udemy course, but it’s a very good addition and reflects the exam topics from a slightly different angle.
Some people learn better when they watch someone guiding and explaining topics. Pluralsight is great for that! There are also some hands-on exercises, which, however, were not extensive and often just a repetition of what the instructor has already done.
Official CKAD Training by the Linux Foundation
This was the only resource I was disappointed by. The course didn’t feel as well-made as the Udemy course, for example. It contained spelling mistakes, code snippets were sometimes badly formatted, the audio quality was not always great, and some textual explanations required knowledge that candidates may not already have. On a positive note, this was the only course where you had to set up your own two-node cluster using the kubeadm tool, which helped in understanding the overall architecture of Kubernetes. The course went a lot deeper in some aspects (especially hands-on labs), but still didn’t convince me overall, especially knowing how much this training normally costs.
KillerCoda
KillerCoda is a free-to-use platform that offers a Kubernetes playground. It is a sandbox environment for you to play around and experiment, but it also comes with a lot of scenario-based exercises that you can solve at your own pace. These exercises are usually very small and can be solved within a few minutes or less.
I did all CKAD exercises on KillerCoda. I especially used the platform a lot when I didn’t have a lot of time but still wanted to learn a bit. Checking off one or two more scenarios can give you exactly the satisfaction you’re looking for, especially when you are running low on time or your everyday work is demanding a lot from you.
CKAD Exercises on GitHub
There are plenty of small exercises available for free on platforms like GitHub shared by the community. One example is this repo by dgkanatsios, which I used myself and found very helpful. These are especially helpful when you want to increase your speed when typing or train your memory for common imperative commands.
KillerShell
If you book the exam via the Linux Foundation, you will get access to an excellent exam simulator called KillerShell. While I think all the other study resources I’ve described so far are great to learn new topics and close your gaps, KillerShell will undoubtedly prepare you the most for the actual CKAD exam. The exam simulator is so well-made that I felt very confident when I saw the real exam environment for the first time.
KillerShell comes with two sessions, each valid for 36 hours. You will have the same questions in both sessions. However, you can redo the exam as many times as you like, which is something I highly recommend you do. Even though I passed on my very first attempt, there were still some things I got wrong. Appreciating my strengths and focusing on my weaknesses allowed me to score even higher in the subsequent attempts. I’d say that KillerShell “over-prepares” you for the exam, as the questions are more difficult. This means that if you handle KillerShell with ease, you will be fine in the real exam. In summary, it is very much worth it!
Exam Experience
Now, I won’t repeat how to enroll, schedule, and register for the exam, since the documentation on the Linux Foundation covers all of that in extensive detail.
One day before the exam, I cleaned up my office, removed anything not needed or allowed from my desk, so that in the end, I only had one monitor, my keyboard, mouse, and a microphone on my desk. I scheduled my exam for 9 AM, as I perform better in the morning.
I started the check-in process on time and walked my way through the instructions and the room scanning. Additionally, I had to move my camera around to show my surroundings. This is normal and expected, and shouldn’t bother you any further; the rotor is just doing his/her job.
After the check-in was done, I saw the exam. One click on “Start” started the exam. I started directly with the first question without further ado. I connected to the node via ssh, solved the problem, exited out of the node, and moved on to the next question. I basically did this until the very last question. With the extra time in the end, I revisited my answers and verified that I hadn’t forgotten or missed something.
At the end, you submit your exam, and that’s it. You won’t know if you passed or not. You will get the results 24 hours later, so you will need to be a bit patient. But given you prepared well enough, there shouldn’t be a bad surprise 🙂
General Tips I’d Give a Friend
Here are a few tips based on my experience when you want to take the exam. This is very subjective, and it’s totally fine if you disagree with some of them.
Don’t bother defining custom aliases: you will jump from node to node (via ssh), and all aliases will be lost as you jump to another node. Additionally, all aliases that you will need (k for kubectl) are already set up. When I was done with the exam, I still had ca. 45 minutes left, so if you prepare well, you won’t need aliases to be faster.
Upload and validate your identification proof before the exam date: The check-in process at the beginning of the exam can be stressful for some, as you will be proctored the whole time, and you will have to scan your environment. You can already offload one step, which is your ID proof. You can already upload your ID card (or similar) upfront and have it validated before sitting the exam.
Don’t get hung up on questions: If you feel stuck, mark the question for review, and come back to it later. When switching to another question, don’t forget to exit out of your current node and connect to the one from the next question. In my opinion, this should only happen once or twice; otherwise, something went wrong in the preparation.
Train with the keyboard layout you want to use during the exam: If you have multiple keyboards (e.g., a US, a French, and a German one), I recommend doing the exercises with the keyboard you want to use during the exam. It will be easier to build muscle memory this way.
Be disciplined during your preparation: I personally think that’s important to keep studying while you prepare for the exam and avoid larger gaps. It’s fine to take a break from time to time, but you shouldn’t reach a point where you start forgetting things you learned when you started.
Enjoy the journey: If you took your time and prepared well for the exam (e.g., using the resources outlined above), you will actually enjoy the exam a lot. The exam was very fair. The questions were clearly worded, and the objective was always clear. It’s then just up to you and your skills to solve the problem. This gives you freedom and doesn’t feel at all like a multiple-choice question type of exam.
Keep an eye on the syllabus: Sometimes, exam topics can change, and course content may not be up to date. Always check out the official exam syllabus and verify that you covered all aspects of the exam as part of your preparation. In my case, there was no section on Kustomize in any of the resources I used for my preparation, even though it was part of the official syllabus. Better safe than sorry!
Conclusion
There we go! This was my exam preparation! I hoped it was useful to you! If you want to reach out and ask specific questions, feel free to contact me on social media.