Cracking the CKA Exam: Tips and tricks I used
So if you’re here, you know that I recently passed my Certified Kubernetes Administrator (CKA) exam from The Linux Foundation. And as most of you know, it is a nerve wracking experience to prep for and give an exam. However, I feel like the PSI pre-verification before the exam was tougher than the actual exam itself :D
I understand that everyone will not have the same experience and believing in the power of shared knowledge and experience, I want to offer some advice that was beneficial during my preparation. I will also share useful strategies that I used during the exam. I will mention some resources along the way that significantly contributed to my understanding of the subject and my success in the exam.
Pre-requisites
Having a good understanding of Linux, Docker, and basic networking is essential before starting the preparation. You need to have a good grasp on the following foundational concepts:
If you need to practice with a real cluster, I would highly suggest using the Kubernetes cluster that comes built in with Docker Desktop. Other options are minikube, kind etc.
Courses & docs
You have a number of readily available web materials at your disposal for learning Kubernetes. These resources include forums, interactive tests, eBooks, and articles.
But out of all of these choices, I would highly recommend using video courses. A fun and engaging learning environment is provided via video courses, which may not be available through other methods. They make it possible for you to see the steps as you follow along, which can greatly improve your comprehension and memory of the material. Thus, in order to learn at your own pace and acquire a thorough and complete comprehension of the subject matter, I highly recommend that you choose an easily available online video course.
My favourite one is KodeKloud’s Certified Kubernetes Administrator (CKA) with Practice Tests [1] - this is the course that I used and Mumshad does a great job of presenting very confusing topics in a really simple way. The additional advantage is that the course is accompanied by practice tests that test each part of your understanding through a cluster that KodeKloud provides. Overall, highly recommend!
Another resource that I think helped me understand how everything ties together is to try Kelsey Hightower’s Kubernetes the Hard Way [2]. I don’t recommend this to anyone per se but this was a fun exercise and you can use the 4 servers needed on either of three public clouds which provide free resources for some time.
Write your notes & Re-read Them
I have a habit of keeping notes and this helped me immensely to prepare. There’s a lot of ground to cover and like normal human beings, I kept forgetting things as I progressed through the course and had to go back to the videos. The notes became a quick reference point for me to go through before resuming the course to jog my memory.
You may ask why this is important since CKA is an “open book” exam. Time is of the essence in the exam and if you keep going back to the documentation to refer every small detail (since you don’t remember it), you will lag behind and will not be able to solve all of the questions. You need to have the basic concepts at the tip of your fingers in order to proceed quickly through the exam including the structure of manifest files, the important keys in the YAML file etc.
Learn How to Generate Manifests
Being able to generate manifests quickly and accurately is a crucial skill for the Kubernetes certification exam. Familiarizing yourself with the common structure and syntax of these manifests is essential for efficiently managing and configuring your Kubernetes resources.
While it's important to understand the underlying structure and syntax, you can also explore tools like kubectl and various third-party tools that can help you generate manifests more efficiently. For example, kubectl create deployment --dry-run=client -o yaml
can generate a basic Deployment manifest for you to customize.
This again boils down to the fact that time is limited during the exam and creating manifest manually or copying them from the documentation is going to be time consuming.
Create Your Shortcuts
Being able to use text editor shortcuts during the Kubernetes certification exam can significantly improve your efficiency and productivity. Setting up your environment to be as efficient as possible is crucial, and familiarizing yourself with the tools installed in the exam environment is a smart move. For eg if you know how to create manifests using the imperative way, you know that --dry-run=client -o yaml
is going to be repeated a number of times, so it might make sense to create a shortcut for it.
Some of the important shortcuts that I created as soon as the exam started are as follows:
export do="--dry-run=client -o yaml" # create yaml manifest
export now="--force --grace-period=0" # kill pod without waiting
alias kn="kubectl config set-context --current --namespace" # switch namespace
alias
Killercoda.com & Killer.sh
Once you’re done with the learning part, use killrcoda.sh and killr.sh to practice your knowledge and get some hands-on experience.
killercoda.com has a lot of scenario based exams that you can do to further your understanding of Kubernetes and you get a free cluster to practice on. I was able to go through a number of scenarios, but focussed on this one specifically: Kim Wüstkamp’s CKA exam scenario [3]
killer.sh is a CKA exam simulator that gives you an exact “exam-like” environment to help you get prepped and understand what you’re dealing with. When you register for the exam, you get free access to killer.sh and are able to do 2 simulator sessions on killer.sh. It also provides you a score at the end of your simulator session and solutions to the problems as well to help you understand where you can improve. The exams on killer.sh are in my opinion much harder than what was on the test, so if you’re able to get through the killer.sh tests, you can rest assured the exam is going to be a walk in the park for you.
Use the documentation
Now this may sound counter to what I mentioned above in the section “Learn how to generate manifests” - but Kubernetes is vast and you need to accept the fact that you will forget a lot of things. Details like the apiVersion, the precise position of the manifest option, and the required indentation are minor details.
If you want to be sure you're progressing in the right path or making progress during the test, you can consult the Kubernetes manual. I would want to stress again, though, that you should only utilize this sparingly because the virtual machine (VM) that is offered in the exam is a little sluggish, and you could lose valuable time looking for information and waiting for it to load.
Conclusion
While this is not an exhaustive list, following these will certainly help a lot while you’re preparing for the exam. All the best if you’re planning to take the exam soon and reach out if you need any clarifications.
References:
[1] https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
[2] https://github.com/kelseyhightower/kubernetes-the-hard-way
[3] https://killercoda.com/killer-shell-cka