In the past year, I’ve taken and passed the two Kubernetes certification exams that are currently available from the Cloud Native Computing Foundation and the Linux Foundation. At the time of writing, the Certified Kubernetes Administrator (CKA) and the Certified Kubernetes Application Developer (CKAD) programs are active, with a third security related certification announced as being under development.
However, the surprising thing that most people discover when taking these exams is that whilst having the required technical knowledge is an obvious must, what they often overlook is the art of time management.
“I failed the CKA exam the first time around. I was prepared technically, I just ran out of time” - Virtually everyone I know
I heard that response many times, at least in my circle of friends. When I was preparing to sit the Certified Kubernetes Administrator exam in 2019 and asked colleagues what their experience of the exam was, that was pretty much the answer I got from everyone. I ran out of time.
When I sat the Certified Kubernetes Application Developer exam, I’d been using Kubernetes almost daily for about three years. I didn’t do much technical preparation as I figured with my experience I should know this. And whilst I found that to be true, I still felt under immense pressure as I read through the questions and watched the “Time Remaining” bar slowly ebbing away.
I’m not going to tell you how to prepare for this exam from a technical perspective. All I’ll say is to look at the curriculum and make sure you know everything listed there. There are already a large number of great references on the Internet to help you with that. What I’m going to cover here is how to prepare for the time management challenge that Kubernetes certification presents.
If you’ve read the Candidate Handbook, and you should if you plan to sit the exam, you’ll know that you’re allowed to open one additional tab in order to access assets at: https://kubernetes.io/docs/, https://github.com/kubernetes/, https://kubernetes.io/blog/. This is good news, as it means you don’t need to memorise command lines and YAML file structures. I really like exams that operate in this manner. It makes complete sense as this is the way all of us work, every single day. We either know things, or we look them up.
Spend plenty of time familiarising yourself with the Kubernetes documentation. Go through the official curriculum and make sure you know where to find everything referenced in there within the Kubernetes documentation. Perhaps more importantly, find the sections of documentation with sample YAML files. These can be a great time saver.
2. Make Haste
There are often many ways to acheive the same thing on a Kubernetes cluster. For the exam scenario, it’s important to determine what is the fastest way to get something done.
kubectl run command used to be one of the recommended tools for quickly creating resources under exam conditions, but since version 1.18 of kubectl was released, it no longer works for deployments. Instead, you can use
kubectl create deployment. But even then, that method doesn’t work for all scenarios. For example, you can’t specify the number of replicas in your deployment.
A workaround to that is to use the
--dry-run flag in combination with
-o yaml to output the deployment to a YAML file and then edit that to set the correct number of replicas. This technique works well for many scenarios.
There’s also the
kubectl edit command which can be used to modify the configuration of an existing Kubernetes resource.
One of the fastest methods I found was to use the
wget command to grab a sample YAML file from the Kubernetes documentation and then edit that file to get the desired result. For example, take a look at the following from the Kubernetes documentation site.
You can see I’ve highlighted the link to
application/deployment.yaml. If you right click that, your browser will give you the option to copy the link location. You can then use that location together with
wget to grab a local copy of the YAML file, which you can then modify as neeeded.
This works a lot better than trying to cut and paste YAML file contents between the Kubernetes documentation and the terminal.
Using the curriculum and the various practice questions you can find on the Internet, make sure you know what the fastest method is to solve those problems.
3. Track Your Progress
You know where to look for the answers and you know the fastest way to get things done. Now, you need to make sure you stay on track to complete enough of the questions to pass the exam in the available time.
The amount of time you have to complete the exam and the passing score are listed in the FAQ. These may change over time, so always check before your exam to see what the current criteria is.
During the exam, you have access to a Notepad tool, which you can use to make notes, use as a clipboard or anything else that might help you with completing the exam. One thing I found useful was to use the scratchpad to keep track of which questions I’d answered and whether or not I was confident that I’d got them right. Each exam question tells you how much it is worth, so you can easily track roughly what your overall score is. Once you’ve answered enough questions to be over the pass mark, it does help to take the pressure off for the remaining questions, knowing that you’ve probably already done enough. Assuming you have got those questions right, that is!
The other thing to know is that you’re allowed to skip forward and back through the questions. If you come across a question you’re not sure about, don’t waste too much time trying to understand it. Just skip on to the next question and try that one instead. You can either make a note on your Notepad to return to that question, or you can flag the question in the exam interface.
You absolutely have to put the effort in to gain the technical knowledge necessary to pass a Kubernetes certification exam. But don’t neglect the non-technical aspects of preparing for an exam - knowing where to find answers, the fastest way to answer questions and keeping a close watch on your progress during the exam itself are skills which are equally important.