Introduction

In this blog post I'll share how I prepared and recently passed the Certified Kubernetes Application Developer (CKAD) and how I found the whole experience. Hopefully there will be little nuggets of wisdom that you might find useful if you're preparing for the CKAD exam yourself.

I'll go in chronological order of how I prepared, which might not be the best or right way to go about it, but maybe there are some learnings that can be taken away from how I approached it.

I started at the end of March 2023 and took the exam in the middle of July 2023. Below is my certification I received from cloud native linux foundation.

CKAD Course

The first thing I did before anything was buy this course Kubernetes Certified Application Developer (CKAD) with Tests from udemy.com. I bought it when there was a discount and in the end it cost me £16.99. It's listed at £59.99, but at the moment it's got a 73% discount offer making it £15.99. It seems that through out the year there is always a discount for this course.

The course structure consists of videos based off an older curriculum, but has been updated to keep up to date with todays curriculum and all of the videos structured in the old way are relevant today.

This course also gives you access to a online web simulator environment via https://kodekloud.com/. In the course it gives you instructions on how to redeem this access. After each section in the course there were some labs where you were given some tasks against the simulator and near the end there were two mock tests.

I made heavy use of the simulator mock exams, even though I knew the answers after a few attempts it's good to practice becoming faster. I feel this significantly helped me in the real exam, because I did find I had some time at the end to review and adjust my answers. As you can see from the image above the simulator consists of two parts, the questions on the left and a console on the right. This is not to dissimilar to the real exam except in the real exam you are remoted into a linux box (Ubuntu 20.04 in my case) where you would end up launching a terminal and have access to a web browser to look up kubernetes documentation.

Local Setup

After watching the first videos of the course I felt like I wanted to try stuff out on my laptop. For this I installed Minikube. For the container/VM manager I already had docker installed. I then installed kubectl which is the same command-line tool used in the exam.

Having this setup enabled me to try things out for myself and play around with some feature like minikube dashboard. The minikube dashboard is good for visualizing a structure for Kubernetes which in turn gives you a better understanding of what you can do with Kubernetes and how to go about it.

Writing Blogs

To try and reenforce what I had learned and provide documentation for myself I went about creating blogs. This follows the principles of the Generation effect which is a phenomenon where information is better remembered if it is generated from one's own mind rather than simply read.

I tried to apply structure to what blogs I wrote, as Kubernetes cover many things, I didn't want to get lost learning topics that weren't relevant for my indented purpose. So I used the curriculum for the exam as my structure.

The latest curriculum can be found here. I tried to cover at least one topic in each section and where I didn't write a blog about a subject I did make sure to research and study it. Below is the curriculum structure with links to the topics I did write blogs about.

Kubectl Fundamentals

Application Design and Build - 20%

Application Deployment - 20%

  • Use Kubernetes primitives to implement common deployment strategies (e.g. blue/green or canary)
  • Understand Deployments and how to perform rolling updates
  • Use the Helm package manager to deploy existing packages

Application Observability and Maintenance - 15%

Application Environment, Configuration and Security - 25%

Services and Networking - 20%

  • Demonstrate basic understanding of NetworkPolicies
  • Provide and troubleshoot access to applications via services
  • Use Ingress rules to expose applications

Buy Exam

Although this seems like the most obvious step, I waited until there was a discount and throughout the year there are multiple promotions or discounts going to be available. In the end I was able to purchase with a 50% discount. Keep an eye out on their twitter feed. Here's an example of a promotion during cyber monday 2022

Exam Simulator

When you buy the exam you will have 2 attempts (per exam registration) to an exam simulator, provided by Killer.sh. This simulator provides the most similar environment experience as the actual exam. They also offer simulators for other Kubernetes and linux exams. You can look at CKAD page for more details regarding CKAD, pay particular attention to 'The Remote Desktop' section, which provides a screenshot of the environment. You can see questions on the left and a remote desktop session on the right with a terminal and web browser with a page from the official kubernetes documentation open.

I made sure to use these exam simulators soon before the exam started so I could hopefully retain the information/experience I gained and take it into the real exam,

The Exam

You can access the exam from the My Portal of linuxfoundation.org. You should have a button to start the exam, the button will visible before the exam but disabled before the time you have booked your exam.

Check in

Make sure to read the instructions provided as this may change. In my experience I checked in 30 minutes before the exam, I would recommend this if you want to make sure you start your exam on time as it can take time to check in depending on your setup and who you get as a proctor.

I took the exam at my sisters home office and made sure to remove any pictures off the wall, cleared the desk and unplugged any monitors. As part of the check-in process you will be connected to the proctor who can see and hear you, but you can't see or hear them. You will be able to communicate via a chat system. Using the webcam of my laptop I panned around the room showing my exam environment and anywhere they asked to look, for example under the desk. The proctor also asked me to show my phone and show me placing it away from me out of arms reach. Once the proctor was happy with their checks, I was able to start the exam.

Exam time

This went pretty smoothly, although I did get contacted from the proctor through out the test.

  • The first incident was when I put my face up to the screen, as I was concentrating I was unconsciously leaning forward towards my laptop at which point the proctor messaged me to move back so they could clearly see me.
  • The second incident was when my sisters cat started getting lonely or curious (I'm still not sure) why she couldn't see me and started pawing and meowing loudly at the door at which point the proctor messaged me to confirm what the noise anomaly was.

I also found myself reframing from muttering or speaking to myself and covering my mouth as I knew this is something the proctor would pick up on.

Results

The exam results are given 24hr after the exam is taken. You should receive a email indicating if you have passed or not. You can also check the portal. I'll admit I refreshed the portal a couple times to see if I could see my results before I received my email.

Summary

I found the exam to be the most fun and practical exam I've taken. Some exams have multiple choice questions which focuses on your memoisation skills. By preparing for this exam I've learned very practical skills that I can use in my job.

Bonus pic

And here is the culprit that almost ruined my CKAD exam 😺... I think I would have forgiven her though.