|I recently decided the take the Certified Kubernetes Application Developer (CKAD) exam. Unlike other certification exams, the CKAD exam is 100% hands-on. You are not expected to select one or many answers from a multiple choice question but instead solve problems on a Kubernetes cluster. Each question focuses on a practical aspect of Kubernetes and applying it to real-world use cases. By passing the exam, you demonstrated practical proficiency with Kubernetes concepts in the role of an application developer.|
Passing the exam is not easy and will put you under immense time pressure. You will have to solve 19 scenarios in two hours. Out of these 19 scenarios I was only able to solve 17. Unfortunatley, I ran out of time.
There’s a lot of work that goes into the preparation for the exam. The most important aspect is practice. You will have to become comfortable with the command line tool
kubectl. Furthermore, you will have to gain a good understanding of all topics stated in the exam outline.
In this post, I want to summarize the resources I used to prepare for the CKAD exam. I hope they will help you with succeeding the exam with flying colors.
In order to practice, you’ll have to have access to an environment running Kubernetes. This environment doesn’t have to be complex. It doesn’t even have to be a full-fledge cluster. Here’re some options:
You have access to a cloud provider environment (e.g. GCP). Maybe you already use Kubernetes at work and you can use the same account to prepare for the exam.
Install minikube or some other Kubernetes distribution on your machine.
Use one or many Raspberry Pis to build a Kubernetes cluster.
I went with option 2 and 3. For local experiments, I installed Docker Desktop for MacOSX and enabled the Kubernetes option. To get more comfortable in a cluster environment, I installed Kubernetes master & worker nodes on a set of four Raspberry Pis 3+. You will find plenty of blog posts online that help you get started with setting up your Kubernetes environments.
The only efficient way to ace the CKAD exam is by practicing different scenarios in your Kubernetes environment. There are a couple of free and paid practice exams that helped me personally.
The GitHub repository dgkanatsios/CKAD-exercises offers a wide range of free practice questions. I worked through the scenarios probably three or four times.
Another great resource is the practice exam offered by Matthew Palmer. You’ll pay $119 for accessing a GitHub repository containing 30 questions. The practice exam is well made and offers a setup procedure that creates namespaces and existing Kubernetes domain objects to work with.
The book Kubernetes Patterns helped me brush up on some of the material I was less familiar with. Especially the coverage of multi-container patterns proved to be helpful.
In addition to third-party resources, I also started to created my own set of exam questions. It helps tremendously to think through all aspects of a given concept. By take on the role of an instructor, you might get a glimpse of how the actual exam question could be asked.
|After passing the exam, I decided to create a learning resource to help students with their journey of becoming a CKAD. In cooperation with O'Reilly Media, I produced a video course, the Certified Kubernetes Application Developer (CKAD) Prep Course, that explains the theory of all topics covered in the exam and reinforces the material with the help of practical demos. Check it out! It's free for subscribers of the Safari program.|
There are a couple of things you need to consider for the actual exam. Proper time management is extremely important. If you happen to get stuck on a question, simply move on. Solve other scenarios that help you score points. You can always come back to a question later during the exam if you have additional time left.
During the exam you are allowed to open a single browser tab with the official Kubernetes documentation. While this can be helpful to find particular code snippets, don’t get hung up on searching the web page too much. As part of your exam preparation, read the whole documentation page at least once. It’s important to know where to find the right information without spending too much time. The search functionality helped me tremendiously.
There are some simple shortcuts and time savers I used during the exam. First of all, use an alias for the kubectl command. There’s really no point in typing the full command every time you need to run it. Furthermore, ensure to set the proper context and namespace per question. It helps to set both options at the beginning of every question to avoid forgetting about it in the heat of the moment. You might know that deleting Kubernetes object can take up to a couple of seconds. Kubernetes tries to gracefully shut down the resource. In case you need to delete one of your object during the exam, simply force the deletion to speed up the process.
I hope I could give a couple of valuable pointers to prepare for the CKAD exam. It took me about four weeks of preparation to feel ready for the actual test. Your preparation time may vary and depending on your previous experience with Kubernetes.
Remember that you have two attempts to pass the exam with a single voucher. In case you fail on the first attempt, learn from experience. It will give you a good idea about your weak spots. Practice those more intensely and aim for passing the exam on the second try. Good luck!