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.
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.
- You can even open an additional tab with documentation located on kubernetes.io and github.com/kubernetes during both exams.
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.
The purpose of the Certified Kubernetes Administrator (CKA) program is to provide assurance that CKAs have the skills, knowledge, and competency to perform the responsibilities of Kubernetes administrators.
While CKAD is solely dedicated to concepts such as Deployments, DaemonSets, Pods, and other API primitives, we can consider it as a lightweight version of a CKA exam.
The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose native cloud applications for Kubernetes.
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:
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. You can find them on GitHub.
Based on information from this source, I have created this spreadsheet with practice tasks and references to documentation. It can be found here.
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.
https://kubernauts.slack.com has 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 free Introduction to Kubernetes 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 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 in Action” by Marko Luksa.
“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. Read this guide carefully, go through the tasks, and make sure you can reproduce everything without the book. For me, this was the most difficult task.
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. 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.