CKA Exam Review
Last week I sat the Certified Kubernetes Administrator exam and I'm very excited that I passed the exam. This post will be a write-up of how I found the exam and a few things to prepare for.
Preparations and resources
I have already done quite a few blog posts with study material in my preparations for this exam so this post won't cover any specifics on the Objectives themselves.
The information given by the Cloud Native Computing Foundation (CNCF) and the Linux Foundation (LF) is very good and is something that you should familiarise yourself with.
The Certificate Handbook lists some general information about certifications by the Linux Foundation, e.g. how to register, payment, refund policy etc. All of this is pretty standard, the price is currently 300 USD and there's (currently) one free retake on exams.
The exam is done online with your own equipment. Review the requirements before starting the exam to be sure that the exam can be delivered without issues. There's also a compatibility check tool available. The essentials of this is that you need a reliable internet connection, a current version of a Chromium browser, a Microphone and a webcam. Internal laptop mic and webcam is fine.
As the exam is delivered online you need to be sure that the room you're sitting in meets the Testing environment requirements.
You will have to pane your room with your webcam so that the online proctor can verify. Make sure that there's no clutter in your reach and in the room you're sitting in. There should be no paper or writing implements, no other devices besides your computer in reach. The walls in the room should be clear, paintings will probably be fine, but no print-outs, bookshelves with books etc.
The requirements specifies that there should be no bright ligts or windows behind the candidate. The point here is that the proctor needs to be able to see your face and hands without issues. I had a window behind me, but with the curtains closed and that was fine.
You need to be sure to be alone in the room at all times, and that there's no noise.
Curriculum and training
I have covered the curriculum and linked to my study notes for the same on this page so I won't go in to details about this. I will however stress that the exam is performance-based, i.e. you will solve tasks in a live environment so be sure to train for that. Create your own Kubernetes cluster either on VMs in your homelab, run a cluster on a Cloud provider, or in your laptop with i.e. Kind or Minikube. You will need a lab environment, and spend as much time in it that you can!
The CKA exam is a performance-based exam with 15-20 tasks to be solved on the command line and you have two hours to complete it. You'll get an exam environment in a browser tab split in to a pane with the assignment and instructions, and a pane with a command line terminal running Linux.
The tasks have different weight, and the weight is mentioned in the instructions. As the tasks does not rely on each other and can be solved individually you are free to tackle the tasks with the highest weight first. In my exam the tasks had between 4% and 13% in weight. The passing score is 66%, I scored 86% on my exam.
You'll have multiple Kubernetes clusters/environments to work with and each task must be completed in the specified cluster so there will be some configuration context switching. This is clearly marked in each assignment.
One additional browser tab are allowed and this tab can be used to access the Kubernetes documentation. For a list of allowed assets refer to this page.
As with all certifications the CKA comes with a NDA so we're not allowed to discuss details about the questions/assignments, but in general I will say that you need to be comfortable on the command line, and you need to know
kubectl well. Even though you have access to the documentation you are limited on time so if you need to look up every single task and command you'll soon be out of time.
The tasks ranges from "Start a pod with this specific image" to troubleshooting tasks where you need to find out why something is not running or working.
As for the tasks where you are to deploy something some of them might be solved with a simple
kubectl command, others needs to be done through a yaml file to meet all task requirements.
Examples with yaml syntax can often be found in the documentation, but it might be quicker to run a
kubectl <command> --dry-run=client -o yaml > <file-name> command if supported, and then adjust the yaml file before deploying it with
kubectl apply -f <file-name>. Knowing how to use this technique can be a real time-saver.
I don't think I got tasks covering all of the sub-objectives in the curriculum, but a great deal of them. And even if you're not tested directly on a sub-objective your understanding of it will probably help you on one or more tasks.
I believe the exam is scored automatically, but you'll not get the results before around 36 hours after the exam was completed.
There is lots of posts out there giving advice on how to set up the command line environment with aliases etc. I didn't do that, and frankly I don't think that the typing of
kubectl instead of e.g.
k costs that much more time. But, if you're used to using aliases than go ahead. The most important thing is to be comfortable in the command line environment!
I found the exam assignments to be fair, and it does test quite a few Administrator tasks. With a solid background running a Kubernetes cluster, or with a solid preparation, you should be able to pass the exam.
My study notes will cover a lot of the knowledge needed, but probably not all. A few of them might also be outside of the curriculum, but for me the process of doing the CKA exam was more of learning the technology than just passing the exam.
If you have any questions or comments, feel free to reach out