CKAD Study Guide

After preparing for, and passing, the Certified Kubernetes Administrator (CKA) exam I decided to continue my studies and go for the Certified Kubernetes Application Developer (CKAD) exam.

There's some overlap between the two exams so a lot of the preparations done for one of them can help preparing for the other as well.

With that said there are obviously differences in objectives, and the level of understanding, tested. The CKA exam is, as the certification name implies, most focused on the administrative side of Kubernetes, whereas the CKAD exam is more focused on running applications inside a cluster. The CKA exam does test your understanding on how to run and manage applications on a cluster, but the CKAD goes to a bit more depth.

If you are planning on doing both exams you should consider what background you have before choosing the starting point. If you are, like me, coming from a more Sys admin background the CKA might be the best place to start, where as if you're coming from a developer background you're probably better of starting with CKAD.

The CKAD exam

The Certified Kubernetes Application Developer exam has been developed by the Cloud Native Computing Foundation together with the Linux Foundation

The resources available from these two bodies around this (and their other) exam(s) are quite good so be sure to check it out.

Both the Certificate Handbook and the FAQ has lots of stuff worth reading up on.

A few pointers from the two:

  • Currently (jan 2021) the exam is based on Kubernetes version 1.19 (it was on 1.18 when I started). Please take this into consideration when working with the different study material, a lot of it might use an earlier version. The goal is to align the exam environment with the current Kubernetes minor version 4-8 weeks after release date so be sure to check what version is used when sitting the exam.
  • The exam is lab/performance based and consist of different tasks/problems to be solved on the command line running on Linux
  • There's 15-20 tasks that needs to be solved in 2 hours
  • The exam is done online and you can take it from anywhere you'd like as long as your location meets the requirements
  • Available resources during the exam is documents provided in the lab machine and ONE additional browser tab which can be used to access resources at https://kubernetes.io/docs/, https://github.com/kubernetes/, https://kubernetes.io/blog/

The exam environment consists of four different Kubernetes clusters, all with one master and a different number of workers. There's also different CNIs in use, but you are not tested on how to install or configure these.

Objectives

The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes

The above is CNCF's words about the certification. The objectives for the exam is as follows:

Domain Weight
Core Concepts 13%
Configuration 18%
Multi-Container Pods 10%
Observability 18%
Pod Design 20%
Services & Networking 13%
State Persistence 8%

Comparing to the objectives in the CKA exam there are no Cluster Architecture or Installation objectives. The Configuration objective mentioned is not testing configuration of the cluster itself, it's testing configuration of Pods and applications

All in all the objectives are very much testing your ability to run and manage applications in your cluster. I believe they do not ask you to "develop" anything, every application that should be run in the cluster will be made available in ready images, but you will probably be tested on how to run that image given a set of resources.

The full and current curriculum can be found here

Study Resources

Let's take a look at some resources available for preparing for the exam.

Note that these are very much the same as what I've used for the CKA exam, but I've added a few.

Kubernetes cluster

The most important resource in your studies is access to a Kubernetes cluster where you can get hands-on experience. The exam is 100% hands-on so it's key to be comfortable working with Kubernetes through the command line.

There's multiple ways to get access to a Kubernetes environment. You can run it your self in a home lab or provision through a cloud provider. Or you can use your laptop and run things with Minikube or Kind. There's also online sandboxes available like katacoda.

Either way, you need a Kubernetes environment!

Linux Foundation training

Paid resource

I purchased a bundle with a training course from The Linux Foundation, LFS258, and the CKA exam. The training course includes quite a few examples on how to solve tasks in a Kubernetes cluster. There's some video material in the course with introductions to the different topics, but mostly you're left with reading through slides and solving tasks based on this.

After doing the CKA exam and starting my preparations I decided not to buy the course targeted for preparing for the CKAD exam, LFD259 as I felt I had a solid understanding of most of the objectives already.

Kubernetes Up & Running

Paid resource

This is a book by Joe Beda, Kelsey Hightower and Brendan Burns. Three very important individuals when it comes to the evolvement of Kubernetes.

The book is not specific to the CKA or CKAD exam, but it does explain a lot of topics in depth and is an important resource when learning Kubernetes. It includes an example application that is used for exploring different topics and the tasks needed to perform different objectives

Pluralsight videos

Paid resource

Through the VMware vExpert program I have access to Pluralsight which has quite a few video resources available for learning Kubernetes.

Acloud

Paid resource

Acloud.guru also has lots of video resources for learning Kubernetes. There's also a specific course for preparing for the CKAD exam.

The CKAD course has 13 hands-on labs and it looks promising for those that wants a guided experience.

KubeAcademy

Free resource

KubeAcademy by VMware is a free resource that has quite a few video resources. The KubeAcademy has around 20 online courses and even though it's offered by VMware it aims to be platform/cloud agnostic.

It has courses for both beginner, intermediate and advanced individuals, and also a specific course for CKA preparation. The videos are quite short, or bite-sized as VMware puts it, and I found that to be somewhat limiting.

When this was introduced about a year ago I didn't find it to suit my needs, but I might go back and review it if time permits. Especially since they have introduced the KubeAcademy PRO (still free) offering with longer courses.

The PRO version of KubeAcademy currently adds three courses which goes more in-depth. There's one for beginners which includes an interactive intro, an Operational considerations course for VI Admins and a Networking course.

The Network course in the KubeAcademy PRO series is a great resource for understanding Networking in Kubernetes. It covers both basics and also more in depth stuff concerning Services, Ingress and Network Policies.

In sum the KubeAcademy courses are focused on a VI Admin so it might not be the best resource for the CKAD exam if you're coming from the developer side of things.

Kubernetes documentation

Free resource

The documentation is essential for everyone regardless of preparing for the exam or not. As this is a resource allowed when doing the exam you should familiarize yourself with how to use it effectively as well.

A few blog posts

This list will be updated as I prepare

Summary

This is my work-in-progress CKAD study guide and will be updated as I advance in my CKAD studies. If you have any questions or comments feel free to reach out

This page was modified on October 22, 2022: Updated feature post