Kubernetes Certification — My take on CKAD and learnings you can benefit
Recently I took the Certified Kubernetes Application Developer (CKAD) certification exam organized by Cloud Native Computing Foundation (CNCF). The last time I remember taking similar test was during my computer science practicals in Grad school (more than a decade ago now). The practicality of the certification shows up in the execution of the exam.
I’m never a fan of certifications since I believe in hands-on learnings rather than a choice based theory oriented approach. When I saw the certification handbook, I was blown away by the concept of a complete hands-on exam for passing the certification. This tempted me to give this a shot.
I have been experimenting with Kubernetes from last December and I have been creating videos on different Deployment Strategies and Architectures (under K8s Primer playlist), However the idea of getting certified emerged only 2 weeks ago. Me along with few other colleagues decided to go full-on with CKAD and trash it out as soon as possible. This enthusiasm enabled us to catch for 30–60 minutes a day and get crazy with creating and destroying pods (in simple terms group of containers, typically Docker) using command line interface called —
kubectl (usually spelled as kube controller or kube cuttle).
We started off with everyone getting on the same page with understanding the kubernetes architecture. We had white board discussions with each of our learnings and validated our understanding. We tried revising again once we covered all the topics in the exam curriculum.
I have been using Google Cloud Platform for getting my hands-dirty since I still have my free credits to create a kubernetes cluster and I used it as playground. Occasionally, we used Katacoda and KodeCloud for trying out CKAD Exercises
Learnings from the exam
The exam is 2 hours long with 19 questions split by varied weightage levels categorized according to the exam curriculum. The crazy part here is, you cannot finish the exam (or atleast I never heard anyone saying they solved all 19 questions).
Skipping the right question at the right time will help you score more.
Some questions had less weightage and took more time to solve and some took less time to solve though the weightage was high.
Shortcuts are your lifelines
You can save a lot of time by creating aliases of the commonly used commands. The most common ones being
kubectl and bash auto completion
source <(kubectl completion bash).
Make sure you are in the right cluster and namespace. Every question has its own cluster and namespace. This is designed based on the nature of the question. Eg, There could be a debugging question where you need to fix a failing pod/deployment. The other question could be related to creating 2 containers in a pod and using configmaps, secrets and volume mounts all in one single question.
The results take 36 hours since the evaluation process needs to validate all the solutions in the running cluster. I have created a github repo — k8s-the-easy-way and dumped my learnings in the README.md file. Do checkout it out if you are learning kubernetes irrespective of whether you are targeting to clear CKAD or not. Feel free to update it and raise a PR if you like to contribute back.
What’s next after CKAD?
CNCF also offers Certified Kubernetes Administrator (CKA) certificate for members who wants to operate and manage the kubernetes clusters. I will skip that since I may not require it since all cloud providers offers Kubernetes clusters as managed services. If you are from the infrastructure/operations space, you may consider CKA as the next option.
It feels extremely satisfying to clear the CKAD exam since learning kubernetes is hard. It’s not difficult, but a bit hard. You need lot of focus and dedication in understanding the platform offerings and tying them back to real world architectural patterns.