May 8, 2020

CKA vs CKAD — Which Exam Should You Take?

After passing both the Certified Kubernetes Administrator and the Application Developer exams, I started receiving a lot of questions about which one is better to take.

This post will answer this frequently asked question by highlighting similarities and differences between the two. Also, as a bonus, I’ll share some tips that may help to increase your odds. Kubernetes online training for more techniques.

What is in common?

  • Both exams have around a dozen practical tasks that you need to complete over a specific amount of time. Some tasks are difficult; some are easy. The score you get after completing each task depends on how complex it is.
  • Both the CKA and CKAD exams cost $300 USD.
  • Don’t get bummed out if you don’t get the desired result on your exam. You get one free retake per exam if you haven’t otherwise been deemed ineligible for certification or a retake.

What is different?

The main difference between these two exams is that CKA tests not only require knowledge of Kubernetes API primitives. The CKA exam also has things related to Kubernetes internals such as etcd, tls bootstrap, and kubelet.

Not having difficult topics related to cluster administration does not make CKAD easier. You only get 2 hours to complete the test, while the CKAD allows 3 hours. During the CKA exam, I had some time to go over the results, while during the CKAD, I didn’t have enough time to complete all the tasks.

For an organization, having three or more CKA’s is a requirement to become a Kubernetes Certified Service Provider. CKAD doesn’t count towards this requirement. So, if your company is willing to become a Kubernetes Certified Service Provider — the CKA exam is your choice.

How to prepare?

I had around two years of experience with containers in general and Kubernetes before considering taking the certification exam. It took about three months for me to prepare for the CKA. CKAD preparation was much easier for me since there was a significant overlap with CKA.

I mainly used these resources:

Exam Curriculum

The Cloud Native Computing Foundation designed curriculum that outlines the knowledge and skills that both Certified Kubernetes Administrators and Certified Kubernetes Developers are expected to demonstrate.

Based on information from this source, I have created this spreadsheet with practice tasks and references to documentation.
If you can complete any of these tasks without having to use Google — feel free to schedule an exam. As a side note, I’d advise against memorizing everything because you can still use official documentation during the test.

Kubernauts Slack

Two channels dedicated to CKA and CKAD exam preparation. If you have a problem, post a question there, and you will more than likely get some help or suggestions.

“Introduction to Kubernetes” on edx.org

In case you are completely new to Kubernetes, the Kubernetes online course from Linux Foundation is a good starting point. You will learn basic concepts, the architecture of the system, and get a better understanding of problems it solves.

LinuxAcademy

LinuxAcademy is another option. The courses cover theoretical aspects well, but it’s still up to you to put these into practice. Even though there are some practical tasks in each module — I wouldn’t consider them to be comprehensive. In case you already have a subscription — it’s a good replacement of edx.

“Kubernetes in Action” by Marko Luksa

If you prefer reading books over taking online courses, you can learn all the necessary theoretical concepts from Kubernetes

“Kubernetes — The Hard Way” by Kelsey Hightower

If you’re leaning more towards the CKA exam, you need to get familiar with configuring Kubernetes without using any automated tools.

Other Tips to Consider

  • Use kubectl auto-completion. Not having to copy\paste pod and deployment names will save you a lot of time.
  • Get comfortable with vim and terminal. The exam environment is within a Linux terminal, so there is no GUI. It’s very important that you feel comfortable in this environment. Kubectl edit uses vim, and at the very least, basic commands shouldn’t be a problem for you (switch modes, save, copy/paste).
  • Use as much documentation as possible. Don’t try to memorize YAML syntax of Kubernetes objects. For each concept — there is a page with code snippets. You can copy small amounts of code directly from the documentation — it’s a very powerful capability.
  • Use a notepad for tracking progress along with general notes. This will help you to feel more confident. I used the following format:
    Task# — percent — status — comment (if any)
    Task1 — 5% — completed
    Task2 — 3% — completed
    Task3 — 4% — partially completed — check pod status

You Got This!

If your company wish to become a Kubernetes partner and/or you aren’t overwhelmed by Kubernetes internals — take the CKA. Otherwise, the CKAD exam is a good fit. If you haven’t yet settled on which exam is better for you — just take both. go through Kubernetes Certification training for more.

Once you pass, which I’m more than sure you will, get back to me and share your opinion about which exam you think is better.