24 questions, 3 hours, 6 Kubernetes clusters and zero multiple-choice questions.

That’s the first thing you need to understand when preparing to take the CNCF’s Certified Kubernetes Administrator exam: this is a 100% hands-on exam. You get 24 tasks of different kinds that you need to complete yourself, either by writing YAML files of Kubernetes objects, using kubectl to inspect and retrieve information about the cluster or taking cluster remediation steps.

This might sound intimidating at first, but I found this to be a better way of obtaining the certification: it drives you to learn and practice a skill that you will actually utilize after the exam is over, you don’t need to memorize a lot of numbers and unnecessary facts, and you can validate your solution by comparing it to the desired outcome defined in each of the questions. Also, there are no dirty tricks or multiple answers that look identical, and the questions are pretty straightforward.

After a month of studying, and getting 92% on the exam (you need at least 74% to pass), I’ve decided to share my experience with anyone who wishes to take the exam.

Should I take the CKA exam?

If you’re reading these lines, the answer in your mind is probably already “yes”. And indeed, whether you’re looking to certify as a personal challenge or for a professional requirement, the CKA certification is a great testament by the CNCF, the official governing body of the Kubernetes project, for your abilities to use and manage a Kubernetes cluster.

However, you do need to remember that the exam is purely practical, and practical skills are most effectively gained by experience. So if you’ve never actually worked with Kubernetes, or haven’t had enough basic hands-on experience, I do recommend postponing the exam and working with the technology for a few months before setting out to obtain this certification.

With that being said, keep in mind that by paying the registration fee for the exam you also get a free retest, so if you’re really keen on taking the exam as early as possible, and you do not pass the first time, you will be able to reschedule the exam and retake it after some more practice.

Types of questions

The questions in the CKA exam are divided into the following groups:

Creating K8s objects : this is the most common type of question in the exam, in which you’re asked to create an object (can be a Pod, Deployment, PersistentVolume, Certificate or anything else) according to the spec given within the question. The object is to be created on the provided cluster

: this is the most common type of question in the exam, in which you’re asked to create an object (can be a Pod, Deployment, PersistentVolume, Certificate or anything else) according to the spec given within the question. The object is to be created on the provided cluster Inspecting the cluster : these are tasks where you’re asked to inspect the cluster and provide an answer for a question about it. You will be asked either to provide a numerical answer (“how many pods are there in the X namespace with the Y label…”), or to use the output manipulation capabilities of kubectl and write that output to a file

: these are tasks where you’re asked to inspect the cluster and provide an answer for a question about it. You will be asked either to provide a numerical answer (“how many pods are there in the X namespace with the Y label…”), or to use the output manipulation capabilities of and write that output to a file Cluster troubleshooting : these are tasks where you’re required to diagnose a problem with a given cluster and fix it, bringing the cluster back to full health

: these are tasks where you’re required to diagnose a problem with a given cluster and fix it, bringing the cluster back to full health Installing a cluster: the exam also includes one question (which I assume always appears) where you’re given several empty Ubuntu nodes and are required to provision a K8s cluster using the kubeadm tool

Scheduling your exam

We’ll get to the curriculum and how to study in a minute, but I will begin with a helpful tip: begin your certification process by registering for the exam and scheduling it. I found that it helps keeping me focused and committed to the goal by setting a hard deadline. This is true not only for the CKA, but really to any goal you wish to achieve in life.

Assuming you already have some basic experience with K8s and understand the object hierarchy, studying for the exam will require 40–50 hours which I recommend spreading over 10–15 days. As I hold a full-time job, I gave myself 4 weeks to prepare for the exam, which were more than enough.

To register for the exam, begin at the CNCF website and open a Linux Foundation user account. From the user portal, you will be able to pay the registration fee, after which you’ll be taken to the PSI website and will be able to pick virtually any date and time to take the exam from home.

Studying for the exam

There are many guides and tutorials available online for learning about Kubernetes in general, and specific ones for the CKA exam. I used the Certified Kubernetes Administrator (CKA) with Practice Tests course on Udemy which was surprisingly good and I highly recommend it. Studying for the CKA requires a lot of practice, and this course comes bundled with 48 practice labs and 3 mock exams on KodeKloud.

The curriculum for the CKA exam is available at the cncf/curriculum GitHub repo and is updated from time to time, so make sure to familiarize yourself with the exam topics before you begin studying. Also, keep in mind that the world of Kubernetes changes rapidly, so verify that you’re using an up-to-date source while studying for the exam.

A few important tips as you study:

Use the online Kubernetes Documentation as much as possible . Cheat sheets and other written materials are not allowed during the exam, with the exception of the docs site. You are even allowed to copy-and-paste example YAML snippets into the exam terminal, so get familiar with the site and learn to navigate it

. Cheat sheets and other written materials are not allowed during the exam, with the exception of the docs site. You are even allowed to copy-and-paste example YAML snippets into the exam terminal, so get familiar with the site and learn to navigate it Practice editing text files with command-line text editors like vim and nano . All you have during the exam is a simple notepad inside the test environment and a terminal, and you will need to write quite a few YAML files during the exam

. All you have during the exam is a simple notepad inside the test environment and a terminal, and you will need to write quite a few YAML files during the exam Do Kelsey Hightower’s Kubernetes The Hard Way . This is an amazing walkthrough where you launch a Kubernetes cluster manually from scratch (which takes about 6–7 hours). You will hopefully never need to actually do this yourself, including during the exam, however it is a great way to understand the basic building blocks of Kubernetes and learn where kubelet is installed, how to deploy a highly available etcd cluster and how many TLS certificates are needed to secure a cluster (hint: oh so many)

. This is an amazing walkthrough where you launch a Kubernetes cluster manually from scratch (which takes about 6–7 hours). You will hopefully never need to actually do this yourself, including during the exam, however it is a great way to understand the basic building blocks of Kubernetes and learn where is installed, how to deploy a highly available cluster and how many TLS certificates are needed to secure a cluster (hint: oh so many) Launch a cluster using the kubeadm tool. Twice. This is a skill you will actually need for the exam. Although the instructions are available on the Kubernetes docs website, and you will have access to them during the exam, take the time and practice it beforehand

This is a skill you will actually need for the exam. Although the instructions are available on the Kubernetes docs website, and you will have access to them during the exam, take the time and practice it beforehand Learn to backup etcd . This is an important know-how in production (unless you plan on using cloud-managed clusters like GKE or EKS in the future), and will probably appear in the exam

One more thing, and I cannot stress this enough: Master the use of kubectl . Do not look for shortcuts and do not study using UI tools like the Web UI or Rancher, as the only tool you will have to communicate with the cluster during the exam is kubectl . Special emphasis should be given to the following:

Editing objects in-place using kubectl edit

Viewing resource consumption of pods and nodes using the kubectl top [pod|node] command

command Filtering objects by labels using the kubectl get -l label1=<value1>,label2=<value2> syntax

syntax Using output manipulation, like controlling the output format using the -o selector and sorting using the --sort-by= argument

selector and sorting using the argument Creating a pod using the kubectl run --generator=run-pod/v1 ... command. This one-liner will save you a lot of precious time during the exam

Exam day!

The CKA exam is remotely proctored. This means that you do it from the comfort of your own home, under the watchful eye of an examiner that will supervise and monitor you during the exam via your webcam and microphone.

You will be given 3 hours to complete the exam, however keep in mind that the first 15–20 minutes (before the clock begins) will be dedicated to reviewing the rules and scanning your room with your webcam. The proctor will ensure you’re alone in the room, your desk is completely clean and your phone is stashed far away. No talking, looking away from the monitor or even mumbling the questions to yourself is allowed during the exam. Also no eating, and drinking is allowed from clear containers only. Yikes.

Each of the 24 questions is worth between 1% and 9%, depending on its complexity, and the easier ones usually appear at the beginning. Each question should be executed on one of the 6 Kubernetes clusters (which you switch between using kubectl config use-context ), however the questions are ordered such that you finish with the first cluster, then move on to the second, then to the third and so on, without jumping back and forth between them.

The online test environment is quite nice and you have everything you need: on the left side of the screen are the questions, which you can answer in any order you want. In the middle you will see the terminal running bash on a remote host which you will use heavily run kubectl commands and ssh into other hosts. The environment also includes a simple notepad that you can open to take notes and edit code snippets.

Exam results

Exam results are unfortunately not available immediately after the exam is over. After you finish the exam and you and your proctor part ways, it takes up to 36 hours to receive the results. I got mine about 30 hours after completing the exam.

Upon passing the exam, you will receive the certificate in a PDF format, your Certification ID Number (which can be used to verify your certification status) and your actual exam score. If you’ve gotten this far, you can pat yourself on the back, rejoice and go find a Kubernetes cluster that needs managing!