Before 2020 ends I decided to clear the CKAD exam and I did it! In this blog post, I’ll share a few practical tips and tricks that for sure will help you achieve the same.
CKAD is an online exam offered by the Cloud Native Computing Foundation. It’s purely performance-oriented, which means you must solve ~ 19 practical problems using command-line tools communicating with real Kubernetes clusters. No theoretical questions. This makes the below sentence from the exam’s official website true.
The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud-native applications for Kubernetes.https://www.cncf.io/certification/ckad/
That being said, being familiar with key Kubernetes concepts is not enough. Even if you work with k8s on a daily basis you may fail to pass the exam. In the remaining part of the post, I’ll share some tips and tricks that will help you prepare.
Registration for an exam
To be able to take an exam you must first buy it – it’s not free. At the time of writing it costs 300$. However, there are many special offers, which reduce the price even by half. Stay tuned and observe promotions especially around Linux Foundation and/or k8s conferences.
If you’re fairly new to the Kubernetes then taking some training courses before an exam is a good idea. I would say it’s always a good choice, even if you already build apps for k8s because it would ensure you have a good understanding of the key concepts and basics.
I personally attended Kubernetes Certified Application Developer (CKAD) with Tests on Udemy and find it very useful. Especially practical exercises give you a sneak peek of what to expect during the exam.
Practice, practice, practice…
Because the exam is performance-oriented, you must be fluent in using kubectl. On the internet you can find plenty of example questions/tasks, so simply solve all of them even multiple times. The faster you are the better. During the exam, you will have only 120 minutes for about 20 questions, which is ~ 6 minutes for 1 task. Practice and be fast.
Keep in mind that you should use imperative commands as much as possible! So to start a Pod don’t write YAML by hand, but instead, run:
$ kubectl run busy-pod --image=busybox --restart=Never
If you need to configure something not available as a parameter for
create commands simply save the output as a YAML file and then edit it by hand.
$ kubectl run busyboxes --image=busybox -o yaml --dry-run=client > busyboxes.pod.yaml $ nano busyboxes.pod.yaml # make changes $ kubectl apply -f busyboxes.pod.yaml
Remember practice is a key to success!
Here is a list of resources I’ve used during my preparation:
The last link is a paid service, but it’s totally worth it. It resembles a real exam in almost 100%, both with respect to user interface and questions. If you don’t want to spend 30€ you may still register for free to get access to 3 sample questions.
Documentation is your friend
During the exam, you can have one browser tab open with Kubernetes documentation. Be sure you are familiar with it! Make bookmarks to basic concepts so you can quickly check YAML syntax or some more advanced topics.
Know the rules
During the exam you must follow certain rules or the exam will be interrupted. Before you start, make sure you are aware of all the restrictions regarding your computer (camera, microphone) and place you are (no painting on walls, etc.). For a complete list see this page in the Candidate Handbook.
CKAD is a practical exam so make sure you have a perfect understanding of key Kubernetes concepts like Pods, Deployments, Services, etc. Find as many online examples as possible and play with them by yourself. Practice
kubectl imperative commands and YAML editing. That’s it!
Good luck with your exam!