Embark on your Kubernetes Odyssey with a CKAD certification.
Tags: kubernetes, certification, ckad, devops
Published: 2023-12-18 02:51:47

**Hey there!**
I recently passed the **CKAD** exam and I wanted to write a concise article giving the aspirants enough information and resources they need to crack the exam. In this article you will find a brief overview of the exam itself, a preparation plan for the exam, my exam experience and the resources I used during the preparation. Let's get started.
<hr>
### What is a CKAD certification and why should you get it?

The **[Certified Kubernetes Application Developer](https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/)** certification is a globally recognized certification from the **Linux Foundation** that validates your proficiency in Kubernetes and deploying cloud native applications with Kubernetes. I believe the certification definitely gives you industry recognition, validates your K8s skills and helps you stand out. You can learn more about the exam at the [official website.](https://www.cncf.io/training/certification/ckad/)
The exam costs $395 (excluding discounts which you can find now and then) at the time of this article being published and you get one free retake.
<hr>
### The exam structure:

Unlike most of the online exams the CKAD exam is not a multiple choice questions type of an exam but a performance based exam where you would be given a scenario based question and you have to execute `kubectl` commands in a terminal to answer the question and get the resources to the desired state. **(**It is an **open book** exam where you have access to the official Kubernetes docs.**)** 

A sample question could look like:

`Create a deployment with image nginx:1.18.0, called nginx, that has 4 replicas. The containers must expose port 80. 
Once the deployment is up, update the deployment to have the nginx:stable image. 
Once updated rollback to the previous version and store the rollout history to a file /example/revision.txt`


You will have approximately 16-20 questions on the exam that you have to solve in 2 hours. Not every question will be as lengthy as the one mentioned above. 
<hr>
### How to prepare for the exam? (The Plan)

 
#### Studying

It is now very well known that the [Udemy course](https://www.udemy.com/course/certified-kubernetes-application-developer/) by Mumshad Mannambeth is the best course for you to get started with the preparation, the course is super easy to understand and is packed with labs that give you a hands on practice on every concept being taught. I would highly recommend this course to anyone trying to get certified.

Once done with the course and you have covered the required topics in the [curriculum](https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/) which the above mentioned course covers for you, all you have to do is practice.
<hr>
#### Practicing 

The very first practice session that I completed were the labs in the Udemy course. Completing the labs as soon as you have learnt the respective topic will help you retain the concept better.

A level up from the labs is this question bank [repository](https://github.com/dgkanatsios/CKAD-exercises/tree/main) by dgkanatsios on github. It covers a wide variety of questions on all the topics. I solved this multiple times to get a good hold on all the commands.

Another good resource is the [killer coda](https://killercoda.com/killer-shell-ckad) platform with scenarios. These svenarios give you a simulation of the type of questions on all the concepts required for the CKAD exam.

The last step is to practice on the [killer shell](https://killer.sh/login) which is a harder version of the actual exam and helps you familiarize with the environment. It is a time based exam consisting of around 22 questions which are harder than those asked in the CKAD exam. This is a paid service if purchased separately, if you book the exam you get 2 free sessions on killer.sh which is what I did.

Once you score moderately well on killer.sh consider you are ready to take the exam.
<hr>
#### Tips

- The thumb rule for this exam due to its timed nature is to go **imperative**. Get used to creating k8s resources imperatively.

    For example creating an nginx deployment using the command 
`kubectl create deployment nginx --image nginx --replicas 2 
` is much more faster than creating the resource through a 
manifest file.

- When running commands to create resources imperatively use the `--dry-run=client` coupled with the `-o yaml` option to direct your resource to a file where you can edit it according to the question and the do a `kubectl appy -f <your-file> ` to create the resource.

- In the exam you are required to change the context between the questions so do not forget to do that or you will get a 0 for the question. They do provide the command to change the context in the question description.

- Use the help command to get a quick peek at the syntax, for eg: `kubectl create cronjob --help` will give you a summary and a quick example of the available options like:

  ```
  Examples:
    # Create a cron job
    kubectl create cronjob my-job --image=busybox
   --schedule="*/1 * * * *"
  ```

- Use the kubectl explain command to get documentation of a resource if required like:

    `kubectl explain serviceaccount`

    `kubectl explain pod.spec.containers.readinessProbe`

<hr>

### My exam experience
My experience was quite smooth. I logged on to the portal 30 minutes before the scheduled time. After which I had to install the secure PSI bowser on which the exam is conducted. Once done with the setup I was assisted by a check-in support member via chat to complete the check-in process that involved showing my id, doing the room scan etc. After the check-in process a proctor released my exam which is when the 120 min timer started. The exam was in a linux based environment with questions on the left side and the terminal could open on the right side. I completed the exam in around 80 minutes and then rechecked if I had answered the questions correctly. You can flag the questions to revisit them later. So if you get stuck on one, do not waste time on it just flag it and move on. I got the results the next day after around 23 hours of the exam start time.
<hr>

### The resources
Following is the list of resources mentioned above:

https://kubernetes.io/docs/home/
https://www.udemy.com/course/certified-kubernetes-application-developer/
https://github.com/dgkanatsios/CKAD-exercises
https://killercoda.com/killer-shell-ckad
https://killer.sh/login

<hr>

The CKAD exam requires a lot of speed and practice, so gear up learn all the concepts, practice until you master them and confidently take on the exam, and remember,
**The expert in anything was once a beginner!** 

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mikspsbfv9f13ky45oof.jpg)

**All the best!**