Last Thursday I took the CKA exam and as you can probably tell from the title I passed the exam, but this time with a perfect score of 100/100 😅. As mentioned in the last post I am going to explain how I prepared for both exams and what was my overall experience.
Half a year prior to taking the exam I was in Barcelona doing my Erasmus exchange. Balancing my time between university assignments and experiencing the exchange left me with limited time to also work, therefore my therefore my Kubernetes skills were a bit rusty as I haven’t been able to work with it as much as I would normally want to. After I finished my exams in mid-January I finally had some time to spent to work with Kubernetes, but for the first two weeks I was mainly just deploying applications and writing documentation at work, so I wasn’t really preparing for the exams, but it was enough to get my hands a bit dirty and refresh my Kubernetes skills.
A bit more serious preparations started about two weeks before my initial plan for the exam date, but as I will explain later this shifted to about three weeks before the actual exam. After internet research, I concluded that the exam can be pretty demanding if you don’t have a lot of hands-on experience and that you need a pretty good understanding of all the concepts in the exam curriculum. While almost the entire Kubernetes community suggests the Udemy Kubernetes course from Mumshad Mannambeth I feel like I normally don’t get much out of watching tutorials because they are a bit too passive. Considering this I figured that the best way to brush up my Kubernetes knowledge would be with some kind of book that covers the exam curriculum and provides you with the necessary labs as well.
After a short search, I have decided to read the CKAD Study Guide by Benjamin Muschko. This book offers a decent explanation of all the concepts listed in the exam curriculum and also provides you with the labs that you can complete in your Kubernetes cluster. It also provides you with some good tips on how to tackle the exam, but if you have previous experience with Kubernetes and you have already read some books about it you will probably find it a bit too basic. Nonetheless, I recommend this resource as you can cover it in one or two evenings.
Speed is crucial in the exam, which is why labs should probably play a pretty big role in your exam prep especially if you don’t use tools like kubectl on a daily basis. With that being said, after a refresher on my Kubernetes concepts it was time to start with the labs. I began by completing this labs. For the practice environment, I chose a testing cluster that we have deployed on Tanzu at work, but you can use any cluster as the exam is primarily focused on the developer’s perspective. After I finished half of the labs I was confident enough to try the killer shell exam where you get two free mock exams when you purchase the actual exam. Despite getting only around 60/112 points on the initial mock exam, I felt relatively confident, because the real exam is way harder. After reviewing the killershell results I identified that I need to improve my Vim skills as these can save you a lot of time on the test.
A few days after the mock exam I decided to schedule the real one, but as it turned out my preferred date had already been booked and the first OK date for me was one and a half weeks away. This extra time allowed me to finish all the labs that I initially had in my mind and also complete most of the labs from the book. Along with that I also completed the killercoda labs, which are pretty nice, but at the moment they sadly don’t have a lot of examples for CKAD. Two days before the exam I took the second killer shell exam to get a bit more practice under time pressure, and that pretty much rounds up my prep for the CKAD exam.
Now let’s talk about the exam. Before taking the exam, I anticipated it would closely resemble the difficulty level of Killer Shell. However, it turned out, that the tasks weren’t as challenging as I initially expected, although I must to admit that at first glance I had some difficulties with some of them. But following my strategy, which was basically to skip the question if I didn’t know the right answer right away and return to it later. This method enabled me to make my way through all the questions within about an hour, allowing me to revisit unanswered questions afterwards. By the end, I had around 20 minutes remaining, which allowed me to look through my answers one more time and allocate more time to the network policy task which in the end happened to be the only task that I didn’t solve correctly.
Overall, I found the CKAD exam was adequate, the exam environment was the same as Killershell, and the difficulty was reasonable. With sufficient practice and speed, the exam itself shouldn’t pose significant challenges, however, it still requires you to put in some work.
Having completed my CKAD, I immediately shifted my focus to preparing for the CKA, as April approached and I aimed to ensure both certifications remained valid for three years. My first impression from the online reviews was that the CKA exam will pose a bigger challenge, and because of that my initial prep plan was comprised with two books. The first one that I started reading was the book called Kubernetes in Action by Marko Luska, while the second one was the CKA study guide by Benjamin Muschko. I also decided that I would build my own cluster with kubeadm where I would do the exercises from both books. Kubernetes in Action is in my opinion a must read book if you want to have a deep understanding of Kubernetes, as it offers a detailed explanations of a lot of important concepts about Kubernetes. The only thing that is not so great about this book is that is relatively old (2017) considering the fast evolving world of technology, but luckily the book is getting the second edition probably sometime this year. Although this book is really nice, for those solely focused on passing the exam, I would recommend sticking to the Udemy course and study guide. Compared to the CKAD study guide I didn’t like the CKA as much as I didn’t really learn about new things, however this might possibly be because I have read the other book prior to reading the study guide. Alongside reading both books, I also built basic cluster with kubeadm, but I later switch to practicing only on killercoda where they provide you with a lot of examples tailored for CKA preparation, and I think that if you finish all the labs there you should be ready to pass the exam.
Similar to my approach with the CKAD, I also undertook the killershell practice exams a few days before the CKA exam. This time I managed to get 92/112, which is why I decided to just go through the answers and finish the remaining labs. On the second try I got a similar result, because there are 25 tasks and it is really hard to get through all of them, but the mock exam provides you with a very good practice as it puts you under a time pressure.
The exam itself was very similar to the CKAD with a bit more emphasis on the administration as you also have to use tools like kubeadm and etcdctl, but overall I didn’t find it significantly more difficult. However, during the exam this time I experienced a quite annoying inconvenience with lag in the middle of the session, which lasted around 10 minutes. Despite that I finished all questions with around 30 minutes still left on the clock, so I had enough time to go through all the answers multiple times. As mentioned in the beginning I passed with a perfect score.
In summary, I highly recommend both of the exams to anyone who intends to work with Kubernetes. Their lab-based nature demands a practical application of skills, which provides you with a confirmation that you understand the required concepts and you know how to practically apply your knowledge once you pass the exam. Regarding the difficulty of the exams, I personally found them to be manageable, and not as hard as some people make it seem, but that might also be the consequence of me studying a bit too much. As I said, someone with hands-on experience and a bit of studying should easily pass the exam, but of course, Kubernetes is a very complex system so you need to have quite a bit of practice under your belt to be confident with it. With both of the exams now being out of my way I can now shift my focus to other projects, which will probably right now be the writing of my master’s thesis, even though with the recent announcement of the Kubestronaut title I am getting a bit tempted to also tackle the CKS, KCNA and KCSA in the near future.