In this article, I will be describing my experience preparing for and taking the CKAD exam. A little bit about my background to relate with if you’re also on the same boat as I was: I am primarily a Software Developer; I’ve used mostly Python and Go. I have some experience in shell scripting and nearly negligible experience in DevOps.
First, we’ll spell out what the Certified Kubernetes Application Developer exam is. According to the CNCF website:
“The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud-native applications for Kubernetes.”
I recommend going through the CNCF website to understand the curriculum, exam tips, and other FAQs.
We’ll now dig into what it took me, an absolute beginner to DevOps, to prepare for the CKAD exam.
There are a few fundamental prerequisites such as Linux know-how, YAML configuration, Docker, etc., that one must know before proceeding to the Kubernetes world. I find the learning path recommended on the KodeKloud website to be especially helpful to plan the order of learning the prerequisites.
Certified Kubernetes Application Developer materials and courses
I did the following courses offered by KodeKloud (this is most definitely not a plug for KodeKloud, you may learn all of these from other sources if you wish) in the order listed below.
Linux – The Linux Basics Course. This course might not be necessary for everyone. If you’re familiar with the Linux terminal, basic commands, and comfortable using the Linux terminal, then you’re good to go.
Automation – Ansible for Beginners. It is essential to understand how the YAML configuration works and know the data structures used in a YAML file. This course explains all of this and provides exercises for hands-on practising, among other topics.
Docker – Docker for Absolute Beginners, Docker – SWARM | SERVICES | STACKS. Before jumping directly to Kubernetes, I think it is essential to understand the fundamentals of containers and container-based systems. Learning about the Docker platform is a great way to start with it. Once you are familiar with the basics of Docker, proceed further to learn advanced topics such as Docker Swarm, Services, etc., These courses should provide you with a pretty strong foundation to being learning Kubernetes.
Kubernetes – Kubernetes for the Absolute Beginners, Certified Kubernetes Application Developer. These courses explain the core concepts in Kubernetes very well. The content of the CKAD course is tailor-made to fit the CKAD exam curriculum. Working through these courses, their practice materials, and mock exam should give one enough idea about the actual exam. I would also like to add that only these courses might not be sufficient to excel in the exam. Find more resources to help you practice.
What I find noteworthy about these courses is that KodeKloud provides a virtual lab to practice what you have learnt right away. Personally, for me, this is a huge plus. If you have only been watching a bunch of videos without getting your hands dirty, then it is not going to be of much use.
Other helpful resources to prepare for the exam:
- https://github.com/dgkanatsios/CKAD-exercises – This is extremely helpful for more practice questions.
- Even more practice – https://medium.com/bb-tutorials-and-thoughts/practice-enough-with-these-questions-for-the-ckad-exam-2f42d1228552
Tips for pulling off the Certified Kubernetes Application Developer exam
There are a few key aspects that will help you with the exam.
- Familiarity – Familiarize yourself with the exam curriculum, the kubectl command, exporting to a yaml definition file (instead of writing one from scratch), and editing it as needed.
- Practice – The more you practice, the more familiar you are with the commands and shortcuts you learn along the way. Practising will also help you respond faster.
- Speed – Speed is particularly crucial to ace the exam. You have about 2 hours to answer 19 questions. And each of these questions may have sub-tasks. Again, at the cost of repeating myself, practice, practice, keep practising!
- Helpful resources during the exam – You do not have to remember definitions of all the Kubernetes resources. You have access to Kubernetes documentation during the exam to look up any information you want. Besides documentation, you can also use the ‘kubectl explain’ command to look up any resource. Learn how to use the ‘kubectl explain’ command to your advantage, as this will save you a lot of time.
- Time awareness – Be aware of the amount of time you spend on each question. Some might require only a couple of minutes, while others require more. Skim through all the questions quickly, make a mental estimate of the time you will have to spend on each of them.
- WiFi – Ensure that you have seamless internet connectivity to avoid disruptions during your exam.
- Be physically and mentally prepared to sit through the exam for about 2 hours with no break. I know you could take breaks in between, but that will cost you time. So, be prepared.
Ensure that you’re well-rested. Do not stress yourself about the exam as it will only hinder your performance. Even if you do not pass the exam on your first try, you can retake the exam once more. You will have gained insight into the exam expectations, which will surely help you prepare well for your next try. Keep calm and give your best 😊