Earlier this month, I passed both the exams for the Certified Kubernetes Administrator (CKA) and the Certified Kubernetes Application Developer (CKAD) certifications offered by the Cloud Native Computing Foundation.
The Cloud Native Computing Foundation is the host of the Kubernetes open source project, as well as many other cloud-first open source technologies:
CNCF is an open source software foundation dedicated to making cloud native computing universal and sustainable. Cloud native computing uses an open source software stack to deploy applications as microservices, packaging each part into its own container, and dynamically orchestrating those containers to optimize resource utilization. Cloud native technologies enable software developers to build great products faster.
These are both pretty challenging exams. There is no multiple choice or fill-in-the-blank here. You essentially get a terminal and have to actually perform real operations and fix real problems with a real Kubernetes cluster. You are allowed to open on tab in your browser to reference the docs at https://kubernetes.io/, which has some of the best documentation out there! However, don't think you can skate by with just some base knowledge and referring to the documentation. You only get 3 hours for the CKA exam and 2 hours for the CKAD exam, which means you have at most 5-10 minutes per question!
The certifications really do complement each other, and which one you can/should take will depend on your role and how you use Kubernetes. The CKA exam focuses more on what an actual cluster administrator would do, such as actually installing/configuring a cluster, setting up networking, setting up storage, etc. Someone in primarily a DevOps type of role would benefit most from this. The CKAD exam, on the other hand, is geared more towards a developer that is building their applications to be Kubernetes-friendly, and consuming the cluster resources made available by the administrator. My opinion is if you study enough to pass the CKA exam, you will probably already know most of the content on the CKAD, so if you want to take them both I would suggest the CKA first then followed by the CKAD.
You have to agree to an NDA when taking the exam that you won't discuss the content, so I can't go into specifics as to what the questions were like. However, I will say that you definitely are getting your skills tested well. You REALLY need to know your stuff! Fortunately the curriculum they provide does a really good job of outlining the content you need to know, so you really shouldn't be caught off guard with any of the questions.
Time management is also hugely important. I only had a small number of questions that sort of stumped me where I had to refer to the docs, and I ran out of time with 1-2 questions unanswered! I learned from the first exam, and modified my approach with the second one. You get to use a "notepad" type tool in the exam window to take notes. I went through each question and if I wasn't 100% sure what approach to take, I would simply skip it and make a note in the notepad to come back to it. Once I had burned through the ones I was confident on, I would go back to the ones I skipped. It's also important to know that the questions are weighted, so some are more valuable than others. As such, when going through the ones I skipped, I would start with the ones with a higher weight first.
There are quite a few good resources out there that can help get you up to speed on Kubernetes:
- Introduction to Kubernetes (edX online course - FREE)
- LFS258 - Kubernetes Fundamentals (CNCF online course)
- This course is mapped to the CKA exam objectives
- This is a paid course - it's $299, but if you order it and the exam ($299) at the same time, you can get the package for $499 and save some money)
- LFD259 - Kubernetes for Developers (CNCF online course)
- This course is mapped to the CKAD exam objectives
- Same note on the cost as noted above for CKA course
Additionally, kubernetes.io has a ton of great material, specifically in the tutorials section.
I would also strongly recommend picking up a copy of "Kubernetes In Action" by Marko Lukša, reading it cover to cover, and going through every code example and tutorial:
Seriously, if you want to master Kubernetes, go out and buy this book now. It's currently $56.99 on Amazon, but it's worth every single penny.
And lastly, go through Kelsey Hightower's Kubernetes the Hard Way GitHub repo. This is a step by step walkthrough on how to setup a cluster from scratch - no setup tools, no scripts, just a few bare VM's and you doing every single step of the process. I learned so much from doing that all the way through 5-6 times, and I honestly think I might not have passed the exams without the knowledge I gained from that experience.
Overall, these certifications were definitely challenging, but I feel they were completely worth it. If you're looking to prove your Kubernetes knowledge, start studying and good luck with your exam!