Yay! I just got CKAD certified and in this blog post, I would like to share with you my experience with the certification, learning resources I used, and some tips for passing the exam.
Why get certified
I remember when I decided to start learning about Kubernetes I got lost! It was overwhelming at first! Since I didn’t know what topics to study and focus on as a developer. I’ve found certifications like CKAD helps by giving me structure on the study plan and what topics I need to focus on as a developer:
Just by reading the exam objectives above, I know the topics that I need to prioritize and focus on. This is way easier than learning random Kubernetes stuff online.
Even if you’re already experienced with Kubernetes, the CKAD certification will help you validate, fill gaps in your knowledge and boost your confidence in Kubernetes.
About The CKAD Certification
Here is some info about the CKAD certification:
- The exam is an online, proctored, performance-based test that consists of a set of performance-based tasks (problems) to be solved in a command line.
- You have 2 hours to complete the tasks.
- CKAD has been developed by The Linux Foundation and the Cloud Native Computing Foundation (CNCF).
The exam tests your knowledge on how to use Kubernetes as a software developer. To site from the CNCF website:
A Certified Kubernetes Application Developer can define application resources and use core primitives to build, monitor, and troubleshoot scalable applications and tools in Kubernetes. The exam assumes working knowledge of container runtimes and microservice architecture. The successful candidate will be comfortable:https://www.cncf.io/certification/ckad/
– working with (OCI-compliant) container images
– applying Cloud Native application concepts and architectures
– working with and validating Kubernetes resource definitions
With no prior experience with Kubernetes, it took me almost two months, on evenings and weekends to prepare for the certification exam. Your mileage may vary. It all depends on how focused you are and how much experience you have in docker and Kubernetes.
Luckily during the preparation, I was preparing with my friends on discord and that made it more fun as we work on exercises and labs together. If you can, I would encourage you to find or create a study group as it will make studying more easier.
I found the exam to be lengthy and some tasks were taking forever because of debugging so I had to stop troubleshooting those tasks and move on to the next tasks. Looking back It was a good decision to follow common sense and skip those hard questions by not following my engineering instincts to troubleshoot the problems I had.
During the preparation phase I’ve used various learning materials to prepare for the exam:
- At first, when I started learning about Kubernetes I went with these Pluralsight courses: These courses were brilliant for understanding k8s concepts, but I felt I didn’t get enough practice in these courses to be ready for the exam. Remember, since the exam is performance-based, you’ll need lots of practice. (Tip: You can have a free Pluralsight subscription by following the instructions in this document).
- Luckily, a friend of mine recommended a great kodecloud course by Mumshad Mannambeth. The same course is also available in udemy. I have to admit that was the best course I have taken to prepare for the certification exam. I really admired how Mumshad easily explains difficult k8s concepts with clear, easy-to-understand analogies and cool animations. Among other things, the great thing about this course is it provides you access to a lab in your browser where you can practice on various k8s tasks.
- Kubernetes.io documentation — Especially the concepts page, where you can learn and deepen your knowledge about Kubernetes concepts, and also the tasks page where you can practice on the concepts you’ve learned before.
When you purchase the exam, killer.sh provides you with a free simulator exam to test yourself before passing the real exam. I found the simulator exam in killer.sh to be more difficult than the real exam.
I occasionally used the following resources in my preparation. You may want to check them out (they’re all free):
- Introduction to Kubernetes | edX
- GitHub – dgkanatsios/CKAD-exercises: A set of exercises to prepare for Certified Kubernetes Application Developer exam by Cloud Native Computing Foundation
- Game of PODs – KodeKloud
- Learn Kubernetes Basics
- Learn Kubernetes using Interactive Browser-Based Labs | Katacoda
- Vim Crash Course | How to edit files quickly in CKAD / CKA exam
- kubectl Cheat Sheet | Kubernetes
- CKAD Example Question with Tips & Tricks
- Practice Enough With These 150 Questions for the CKAD Exam
- Don’t get stuck and try all questions. This is very important because if you get stuck on hard questions you’ll miss the easy questions in the end! If you don’t know the answer to a question, don’t waste time on troubleshooting and debugging, flag it, and move on to the next question.
- During the exam, I used a timer of 6 minutes, so I don’t spend more than six minutes on a particular question. If you’re a mac user you can use an app called be focused, it’s configurable. I used it to run timers automatically during the exam, each having six minutes.
- During the exam, You are allowed to use the official k8s documentation. You’ll find yourself copying & pasting snippets from the docs. Therefore It’s very important to be familiar with it before taking the exam. You can even use page bookmarks, feel free to import all the bookmarks that I used during the exam.
- Use Imperative commands whenever you can as it is much faster than writing yaml.
- Sometimes it is impossible to pass all the required fields using imperative commands, to generate the yaml without actually sending a request to the API server, use the following option
--dry-run=client. For example:
k run pod-nginx —image=nginx:alpine —dry-run=client -o yaml > sample.yaml
The above command will not create a pod named
pod-nginx, instead, it will only generate yaml and direct the output to the file
sample.yaml. And there you have a template file where to make all the additional modifications.
- You can use aliases for fast command invocations. By default,
kubectlis already aliased to
kso you don’t have to set it up. I just used one additional alias to change the namespace and 1 export to help me create skeleton yaml objects:
alias kn='kubectl config set-context --current --namespace'
export y='--dry-run=client -o yaml'
- If you purchased Mumshad’s course, don’t forget to join the KodeKloud Slack Workspace. There you can post any questions you have about the exam and get help if you need it.
- Familiarize yourself with how the real exam environment looks before starting the real exam: https://www.youtube.com/watch?v=9UqkWcdy140
There are other Kubernetes certifications provided by CNCF, CKAD is intended for developers who want to build and run their cloud-native apps on top of Kubernetes. If you want to get into different aspects of Kubernetes like how to administer clusters then go for the CKA cert. If you pass the CKA, there’s also the CKS, which is an advanced certification destined for folks who want to be certified Kubernetes security specialists.
Personally, after obtaining the CKAD I feel now motivated to start studying with friends for the CKA cert exam. Oops! Am I making a public commitment now? Yes, I am : )
In this post, I attempted to share with you my experience with the certification exam, study material I used, and some tips to pass the exam. If you have any other questions about the CKAD certification, feel free to DM me on LinkedIn or Twitter.
If you happen to find these articles useful, you can buy me a coffee.