I took the CKA exam last week and passed it with 84% score at my first attempt! Here are some tips on how to crack the exam.
First of all, I’d like to highlight that its not very difficult to clear the exam (as some articles on the internet claim it to be) provided you understand the concepts and practice all exam topics thoroughly. The exam is intense though as it requires 3 hours of concentrated effort during which you need to solve 24 problems but as long as you enjoy solving problems, it feels very rewarding. So, if you are interested to take this exam and have second thought about it, my sincere advice is, just do it!
Tips on getting started
- If you are new to container world, I’d advice you to take a free course on one of the following learning portals: Udacity, Udemy, edX. There is also a paid course from The Linux Foundation. If your company is sponsoring for your exam, you can as well combine it with the course training from Linux Foundation as they provide a discount for exam plus training.
- Alternatively, if you prefer to read books instead, get yourself a book on Kubernetes: Up & Running.
- In my case, I’ve been using Kubernetes at work for about 8 months now and I’ve skipped these training courses altogether. So, if you are familiar with basic concepts already and don’t have much time to go through these training courses, you may skip too!
Tips for preparation
- Give yourself 3 to 4 weeks time before the exam date and start with official kubernetes documentation. I know I said one can skip taking “Getting started training course(s)” above if you are familiar with the basic concepts but the official documentation is too good for many reasons: it provides lot of use cases for each concept/topic along with examples on how to create/use resources. And most importantly, you can use the same documentation during the exam. So, familiarising yourself with the official documentation is a must for the exam.
- Practice each topic. Since this exam is all about solving problems, you need to practice a lot. You can use katacoda playground or this labs site by Docker. These two tools helped me a lot during preparation. Katacoda also has several scenario based topics and it is important to practice these.
- For each new topic you encounter, search for related blogs/articles on the internet to get better understanding. I’ll give some examples here. While learning network policies, I stumbled upon this article which explains it neatly and the examples are beyond what is in official documentation. Similarly, while learning about authentication and client certificates, I practiced it using this article and this. So, I’d highly recommend, to do some research on each topic; here are few more examples where the concepts are explained in an elaborated way than official documentation : taints/tolerations, podsecurity policies, custom kubernetes scheduler
- Familiarise yourself with tools such as: openssl, cfssl, systemd, etcdctl (for managing etcd)
- Finally, the obvious recommendation is to spin up kubernetes cluster, the hard way. Make sure to clean up the cluster once you are done with your practice as it incurs charges in your GCP account.
Tips during the exam
- Note that not all questions carry equal weight. So, it is important to invest your time wisely. There are 24 problems and the exam duration is 3 hours. This means you can spend seven and half minutes per question. However, the difficulty range varies; nearly dozen problems are straight and super simple. So, have a strategy for the exam. My strategy was to complete 10 easy questions in the first hour, 8 medium in the second hour and leave final hour for remaining 6 (tough) questions. Once you are done with the question, just double check whether you are saving the output as described in the question and move on (don’t try to come back and check the answers again).
- You don’t have to read all questions upfront but once you feel the problem requires more time, put it in appropriate bucket (medium/tough), note down the question number using the inbuilt notepad tool and move on to next question. Put a cap on maximum amount of time you can spend on a question based on your strategy.
- Use kubectl to create resources (such as deployment, service, cronjobs etc) instead of creating them from manifest files. It saves lot of time. If you need to make further changes, save the manifest file for the resource you created using kubectl, modify accordingly and re-apply. Alternatively, you can as well use kubectl edit <resource> to modify the resource spec.
- Since the exam requires concentrated effort for 3 hours and is straining both physically and mentally, I’d advice to schedule the exam during morning hours.
- Unlike most exams, this one is not about memorising but I’d advice you to familiarise yourself with the official documentation. It has multiple sections (tasks, concepts and references) for the same topic. So, you should know what/where to look for quickly in the documentation during exam.
- Finally, know that you have one free re-take if you didn’t clear the exam in first attempt. I wish you don’t need it but knowing this will definitely help you to calm down during exam.
If you find this article helpful, please share it! And here is my certificate :)