I took the CKA exam recently and would like to share my own preparation and tips.
The exam is intense as it requires 3 hours of concentrated effort during which you need to solve 24 problems. So timekeeping is very important. If you are interested to take this exam and have second thought about it, my sincere advice is, just do it!
Getting started
As part of black friday deal last year I bought from linux foundation the package deal. It consisted of the CKA exam and linux foundation kubernetes fundamentals course.
In a previous contract role I had worked with kubernetes also on a daily basis. So I was familiar with the basic concepts.
Preparation
Understanding the kubernetes documentation is vital here as that is the only resource you are now allowed as part of the exam. Search “What resources am I allowed to access during my exam?” at faq section
Familiarising yourself with the official documentation is a must.
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 topic I found this blog extremely useful to go through. Practice, practice, practice. Get used to deploying on a cluster and using all the kubectl commands. Locally on my mac, docker for mac now incorporates kubernetes so no need for minikube anymore.
Kubernetes the hard way - Kelsey hightowers tutorial on github is vital to pass this exam. Managed services like AKS, EKS or kubeadm are not going to help here. You need to get right under the hood and understand how the control plane works.
Familiarise yourself with tools such as: openssl, cfssl, systemctl, etcdctl (for managing etcd)
Exam Time
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 will not have time to go back and check!
Progress Tracking
The CKA exam allows you to write notes to a notebook, which they provide in exam’s UI. Use it wisely. Once I had my exam available, I used their Notebook to keep track of my progress. It helps you to see your progress and how much left to be finished.
The format I used:
# - scoring - total
1 4 4
2 5 9
3 3 12
4
5
...
24
The first column is just the number of question (24 in total). The second column — scoring, is how much the problem worth and you will get that from the problem description. The third column is “total”, where you put the total scoring as you go and it will let you know what problems are already completed and how many points you already have. This little bureaucracy will help you to understand how well you are doing and come back to some problems if you decided to skip them before.
Kubectl Ninja
Use kubectl to create resources (such as deployment, service, cronjobs etc) instead of creating them from manifest files. It saves lot of time.
I used the cheatsheet heavily during the exam.
First thing I did was copy in the below to notepad. It allowed me to create resources quickly from stdin
cat <<EOF | kubectl create -f -
EOF
Take the exam in the morning.
I took it at 11AM. I went for a quick walk beforehand to get some fresh air and then I was ready to go!
To reiterate, 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.
Best of luck! Remember you have one free retake if needed.😃🚀⚓