Passing the CKAD


Minikube

Two months ago, I decided to learn Kubernetes. I started with the Kubernetes tutorial by installing Minikube and following the guides. Things were quite straightforward, until I got to the Deploying Cassandra tutorial. I did not have any experience with Cassandra, so I found the whole exercise quite pointless, as I just spun up a database then immediately proceeded to delete it. The next task was about running ZooKeeper, and just by skimming through the tutorial, I felt like if I kept going, I would just be copying and pasting commands without learning much. It felt like a good place to stop.

Studying the Docs

After that, I discovered Killercoda. I went through around 30 or so exercises, but I still felt like I was copy pasting answers too much and lacked the fundamentals. So, over the next few weeks, I decided to read the Kubernetes documentation during my daily commute to work. During this period, I gradually learned what Kubernetes was capable of, and the more I read, the more things made sense. However, it was quite clear to me that I would not be able to configure resources using kubectl just by reading the docs. I needed some hands on practice.

Practice

As my PC runs Proxmox, I thought it would be a nice opportunity to learn how to use Terraform and Ansible to provision VMs to run Kubernetes. I followed this guide, and after a bit of troubleshooting, I had a k3s cluster running.

Next, it was time to practice using kubectl on the cluster. After a bit of googling, I landed on this repository. It was a nice collection of exercises covering most of the exam objectives. I especially liked that the tasks were not isolated; for example, the exercises on deployments had me modifying the same deployment throughout.

After that, I went back to Killercoda, and found that I could easily solve the exercises. So, I thought it was time to purchase the exam and see how well I would do on the killer.sh mock exam. The mock exam was quite difficult, and it took me 3 hours to finish it. I knew it was supposed to be harder than the actual exam, but I didn’t know if 3 hours was a good time. Anyway, I decided to just take the exam since as I had a free retake, and I could always study more if I failed the first attempt.

The Exam

I run Ubuntu on Proxmox as my daily driver, which is not allowed for the exam due to being a VM. To get around this, I booted from a different SSD that also ran Ubuntu (which used to be in my previous laptop). I went through the PSI Remote Testing Tutorial twice, and everything went well.

When it was time for the exam, I opened the PSI secure browser. After following the usual online testing procedures such as scanning the room and presenting my ID, I started the exam.

Around 40 minutes into the test, my PC suddenly froze. I was able to move my mouse, but nothing I pressed on the keyboard got a response. I reluctantly forced a reboot, not knowing what would happen to my exam attempt. After rebooting, I opened the PSI browser and was greeted by the welcome screen. I opened the chat and was incredibly relieved to see my previous messages with the proctor still there. The proctor explained that I would need to request a break and resume immediately so that the disconnection would count as an official break. After scanning the room one more time, I was able to continue.

Ten minutes before my time ended, I finished the questions I was confident with and went back to the ones I had skipped. It was then that I encountered a network issue and was forced back to the welcome screen again. I scanned my room for the third time, but by the time I was able to resume, there was less than a minute remaining. I was so exhausted by all the unexpected technical issues that I just sat there staring at the screen, waiting for the timer to run out.

The Result

The exam portal stated that I would see my results in 24 hours. I had been able to see the results of my killer.sh mock exam within minutes, so I naturally thought this would be the case for the real exam as well. How hard could it be to run a script that verifies what resources I have created on the machines? However, it was not until the 23rd hour that I got my results back.

Aaaaand…

exam result, 77%

I passed!

I was glad that this process was finally over. The exam experience was an emotional rollercoaster that I’ll never forget.