How to ace the Certified Kubernetes Application Developer (CKAD) exam

Sundas Choudry
ClearBank
Published in
9 min readSep 7, 2023

--

At ClearBank, we have recently adopted Kubernetes as our primary container orchestration platform. By utilising the power of Kubernetes, we can continue to offer our clients a highly resilient and robust banking infrastructure, increasing our scalability for future expansion.

This transition has allowed me to upskill in my role at ClearBank and become a Certified Kubernetes Application Developer (CKAD), and I’m excited to share my insights with you. In this article, we’ll talk about studying and exam strategies, workspace and workstation preparation, exam UI and check-in process.

Table of Contents

· CKAD Exam at a High Level
· Do you need to be a Linux Pro to Pass the CKAD Exam?
· CKAD Studying Material
· Use the Course as a Starting Point
· Practice, Practice, Practice!
· Tips to Solve Exam Questions Faster
· Exam UI and Environment
· Workspace and Workstation Preparation
· Before Booking the Exam
· Check-in 30 Minutes Earlier
· Tackling Exam Questions
· Best of Luck!

CKAD Exam at a High Level

The CKAD certification is issued by The Linux Foundation and assesses your developer-specific Kubernetes skills, such as designing, configuring, and exposing cloud-native applications. See the exam curriculum for more information.

The CKAD exam is not your typical multiple-choice tech assessment like some of the Microsoft Azure and AWS exams. It’s a hands-on, open-book exam conducted online and remotely proctored. You have 2 hours to tackle 15–20 performance-based tasks with access to the allowed resources. Once you purchase the exam, you have 12 months to pass, including a free retake. You’ll be emailed the results 24 hours after the exam and need 66% to pass. And lastly, the certification is valid for 3 years (36 months) upon successful completion.

Having also completed the az-900 exam recently, I can confidently say that the practical nature of the CKAD exam makes it more challenging but enjoyable than multiple-choice assessments. Overall, CKAD is a highly rewarding certification.

Now, let’s dive into the exam itself.

Do you need to be a Linux Pro to Pass the CKAD Exam?

Taking a performance-based exam on Linux can seem daunting if you haven’t worked a lot with Linux before. But rest assured that you only need to be proficient at basic terminal tasks, such as:

  • Navigating through the file system
  • Creating new folders
  • Creating, editing, copying, renaming, and deleting files
  • Using a text editor (vi, vim or nano)
  • Piping terminal output to a file
  • Testing your AKS services with wget and curl
  • Searching and filtering using grep

CKAD Studying Material

To prepare for the exam, I completed two Udemy courses by Mumshad Mannambeth: Kubernetes for the Absolute Beginners — Hands-on and Kubernetes Certified Application Developer (CKAD) with Tests.

These courses were invaluable in taking me from not knowing containerisation or Kubernetes to passing the exam. Mumshad is great at breaking down complex concepts and making them easy to grasp.

One notable aspect of these courses is that they include practical labs in KodeKloud, which utilise a pre-configured web-based cluster in a Linux environment. So, you can practice on a Linux terminal without the hassle of setting up a local cluster.

I recommend purchasing these courses if you are diving into Kubernetes. Udemy courses go on sale from time to time, so watch out for those major discounts.

Use the Course as a Starting Point

While the course is a good starting point, I recommend diving deeper into the following areas:

  1. Verify and troubleshoot your answers instead of relying solely on the green tick in KodeKloud. For example, check resource status, inspect logs, and run commands within a pod.
  2. Learn to create sidecar containers using hostPathand emptyDir.
  3. Explore the complex Job and CronJob use cases, including job termination and auto-cleanup.
  4. Understand Resource Quotas and Limit Range.
  5. Docker and Helm are huge topics in their own right. Whilst the course provides a quick overview, you may find additional courses by Mumshad useful: Helm for Beginners and Docker for the Absolute Beginner — Hands On — DevOps.

Practice, Practice, Practice!

Nothing substitutes practice, and fortunately, there are plenty of excellent resources available for CKAD exam preparation:

  • Killer Shell: You get two free simulated sessions upon purchasing the exam, which you can access via The Linux Foundation training portal. Both sessions contain identical questions, and once a session is activated, it’s available for 36 hours. It offers an environment similar to the CKAD exam but with tougher questions.
  • Killercoda: This resource is free, provides a range of interactive scenarios and uses an environment that also closely resembles the actual CKAD exam, providing a similar terminal and tools.
  • KodeKloud Mock Exam Series: An excellent resource for mock exam questions.
  • Other resources worth highlighting include Git repositories by Dimitris-Ilias Gkanatsios, James Buckett and Benjamin Muschko. You can practice these exercises using a local cluster or utilise the KodeKloud or Killercoda environments.

Tips to Solve Exam Questions Faster

Time is your worst enemy during the CKAD exam. I was racing against the clock and typing until the very last second. Here are some tips to help you solve questions faster. Although some may only shave off a few seconds per command, it all adds up in the end.

  • Familiarise yourself with the documentation: as personal bookmarks are not allowed, make sure that you know where to find the information you may need in the exam, such as specific YAML examples.
  • Never write YAML from scratch: use imperative commands to create resources rapidly. If you can’t fulfil the entire resource specification using an imperative command, use the --dry-run=client -o yaml to create a YAML definition you can build upon.
  • Don’t waste your time making YAML pretty: focus on getting the YAML syntactically correct and avoid excessive formatting. Remember, aesthetics don’t earn you points.
  • Utilise the command help ( -h or --help) switch: kubectl, Docker and Helm all have pretty good command usage documentation with boilerplate examples that you can copy.
  • Use editor shortcuts: vim and nano shortcuts.
  • Master grep: grep is essential for searching and filtering logs, events and command output. Familiarise yourself with useful switches, such as -i, -A and -B.
  • Use resource short names: e.g., cm instead of configmap
  • Delete resources quickly: Use the --force switch to delete objects without waiting.
  • Setup aliases for frequently used commands: such as dro='--dry-run=client -o yaml'
  • View resource schema using kubectl explain: leverage the explain command rather than memorising resource schemas or excessively searching the documentation during the exam.
  • Know the tools available in images: for example, busybox has wget and nginx has curl to test your Kubernetes services.
  • Check out the kubectl cheatsheet and command reference.

Exam UI and Environment

You will connect to a remote XFCE desktop using PSI Bridge Secure Browser. Terminal Emulator, Firefox and MousePad (visual text editor) are available. As you have access to the entire desktop, you can open multiple windows and tabs and arrange the applications however you like.

Exam UI replica by Kim Wuestkamp

Using Firefox inside the VM means you can’t access personal bookmarks, so familiarity with the Kubernetes documentation is crucial. Each exam question provides links to relevant documentation pages, which is helpful. The browser automatically blocks access to unallowed pages, which gives you peace of mind.

You can type k instead of kubectl because the alias k is already configured. You can choose whichever text editor you prefer from the three that are pre-installed: vi, vim, and nano. It’s important to note that the terminal accesses a different host (and filesystem) to MousePad. So, you can’t use MousePad to edit your YAML files.

To see what’s changed since June 2022, read Kim Wuestkamp comprehensive article on the exam UI. Also, familiarise yourself with the official Exam UI docs from The Linux Foundation, which covers how to adjust the UI and copy/paste into the terminal.

For practice, try out the killercoda playground, which provides an exam-like environment.

Workspace and Workstation Preparation

Your workspace must be free of clutter and distractions. Remove everything from your desk and the walls behind your desk, such as tissue, paper, books, posters and unused electronics. You are allowed water in clear glass or bottle.

You should be alone in the room when taking the exam, which means no public spaces such as coffee shops or open offices. The proctor will monitor your audio and video, and if you do anything suspicious, they’ll ping you via message and ruin your concentration. So, try not to move away from your desk/out of camera view, whisper, or cover your face.

As for your desktop, you may be unable to use your corporate laptop due to firewall and security policies. Unfortunately, a dual monitor setup isn’t allowed, so you could use your laptop screen alone like I did or use an external monitor. When using an external monitor, close the laptop screen or ensure you only display on your monitor (on Windows, choose the ‘Show only on 2’ display option). Since you are connecting to a remote Ubuntu desktop, you need a reliable internet connection; otherwise, you may experience a lag. Consider having a backup connection like a mobile data hotspot.

Lastly, the thing that caused me pain in the exam — have a good plugin-in USB webcam on a long lead to facilitate the check-in process. My webcam was too grainy and couldn’t focus on my ID, so I had to restart the check-in process using a different webcam. The whole situation caused a major panic, which was terrible right before the exam. So, make sure your webcam quality is good enough to show your ID and face.

Test your desktop to see if it meets the system requirements before the exam.

Before Booking the Exam

Before scheduling the exam, familiarise yourself with the Candidate Handbook, rules and policies and FAQs. Pay special attention to the technical instructions, which contain crucial information you need in the exam, including how to obtain root privilege, how to SSH into a node and alternative options for prohibited keys/shortcuts. You need a valid ID and system to sit the exam, so check these beforehand. Lastly, remember that you can reschedule up to 24 hours before the exam starts.

Check-in 30 Minutes Earlier

You can launch the exam and start the check-in process 30 minutes before the start time. The check-in process can be lengthy, especially if the proctor flags issues in your workspace. You may even need to restart the check-in process if there are any problems with your system, as I had with my webcam. So, I strongly suggest checking in 30 minutes earlier. A plus is that the exam timer only starts once the proctor is happy.

You’ll need to install PSI Bridge Secure Browser, which will become available in your training portal 30 minutes earlier. Before launching the exam, kill off all other applications and have your government-issued ID in hand. You’ll need to take a picture of your ID, and then the proctor will inspect your workspace and desktop. Make sure you have a webcam on a long lead to do a 360-degree sweep of your room, from ceiling to floor. The proctor will also check that you are not wearing anything on your ears or wrists, such as a smartwatch. Once the proctor is happy, they will start the timer.

Tackling Exam Questions

The questions aren’t ordered in any specific manner. So, you could do them sequentially or solve the questions with the highest weighting first. But if you are stuck on a question for too long, flag it and return to it later. You can earn partial marks on questions, so try to attempt every question, even if you don’t know the full answer. Remember, your goal is 66%, not 100%.

Before tackling an exam question, clear the terminal, run the context switch command given in the question, and ensure you are in the correct namespace. Each question must be solved in a particular context and namespace. Otherwise, you could solve all the problems and still fail the exam.

As a general rule of thumb, copy and paste resource specifications from the question to avoid typing errors. Always take a backup of the original resource before editing or deleting it. And if you need to SSH into another node, ensure you SSH back out before moving on.

Best of Luck!

CKAD is one of the most rewarding but challenging certifications, as it requires a lot of hands-on skills. Keep practising, and you’ll do great. You get two tries per purchase, so you can retake the exam if you fail on the first attempt.

I hope I was able to help you on your journey to becoming CKAD certified. Best of luck with your exam preparations!

Link to my certification

--

--

Sundas Choudry
ClearBank

I'm a Software Engineer at ClearBank who's all about tackling tricky problems, crafting cool designs, and embracing the creative side of software engineering.