How did I prepare for my CKAD certification?
Tags: kubernetes, devops, containers, docker
Published: 2023-10-08 15:14:07

Today, I will talk about my experience in preparing for and taking the CKAD exam. I will discuss tips and preparation to get the cert.

### Developer-oriented certification

The CKAD (Certified Kubernetes Application Developer) certification is specifically designed for developers working with Kubernetes. It validates their skills in designing, deploying, and maintaining applications on Kubernetes. The exam is lab-based and emphasizes practical skills on a live Kubernetes cluster. This certification empowers developers to optimize application performance and scalability, making it a valuable credential that showcases proficiency in working with Kubernetes.

The CKAD exam covers various topics related to Kubernetes application development, including core concepts, configuration, multi-container pods, observability, services and networking, state persistence, and security.

If you are a developer who wants to demonstrate your ability to configure and deploy applications in Kubernetes, this certification is for you. It is also a good starting point for individuals interested in becoming DevOps engineers or working with Kubernetes applications in a production engineering role.

### Courses and resources I used

Before taking the exam, it's important to learn more about Kubernetes. Finding suitable courses on Kubernetes can be challenging as there are many options available online, and it can be difficult to determine which ones are worthwhile. I have personally tried a few online courses, and here is my experience with each of them:

**Kubernetes Mastery on Udemy**

Link : https://www.udemy.com/course/kubernetesmastery/

I highly recommend the "Kubernetes Mastery" course by Bret Fisher as a great starting point for learning Kubernetes. This course covers almost all the topics required for the exam, including deploying applications, configuring them, and using services and ingress.

Bret is a very informative instructor who takes the time to explain all the concepts thoroughly. I recommend this course not only for those aiming to obtain the certification but also for individuals who simply want to start learning about Kubernetes. Additionally, Bret uses Kubernetes on Docker Desktop, which makes it easy to install and set up your Kubernetes cluster.

While the course provides a solid theoretical foundation, it is important to practice more if you want to succeed in obtaining the certification.

**Kubernetes for Developers - Linux Foundation**

Link: https://training.linuxfoundation.org/training/kubernetes-for-developers/

When I purchased the exam, I also received access to this free course. It provides more detailed information about Kubernetes architecture and goes in-depth on subjects such as security context. The course covers slightly more topics than "Kubernetes Mastery" (including security and service mesh with Linkerd), but the content is very similar.

This course is text-based with diagrams, rather than video-based. However, the explanations are clear and well-presented. I spent less time on this course as it contains a lot of theory. I found it helpful, but I do not believe it is necessary to take this course if you have already completed "Kubernetes Mastery." You can learn a lot more through hands-on practice.

**Kubernetes Documentation**

If you want to learn more about Kubernetes, the official documentation is the main source of information. It provides detailed explanations on all subjects.

### Practice and mock exams

As mentioned before, practice is crucial. To prepare for the exam, I utilized multiple resources for practice and took mock exams.

The Linux Foundation provides two mock exams on [killer.sh](http://killer.sh/), which are useful for training before taking the real exam. The two mock exams have the same questions and are more difficult than the actual exam. The [killer.sh](http://killer.sh/) simulator gives you 120 minutes (the same duration as the real exam) to practice, and the lab can be accessed for 36 hours to review your mistakes.

I took the first mock exam to assess my level and determine how much more practice I needed. Here are the results:


![Mock exam score](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ljhxhe0x0lz5twb4gcck.png)



The exam was very difficult for me, so I realized I needed more training before attempting the mock exam again. I made sure to thoroughly review and understand the solutions for the questions I was unable to answer. This helped me identify areas where I needed to learn more.

**CKAD cert Mock Question - Cloud Guru**

The learning platform Cloud Guru provides courses and mock exam questions for practice. This resource was very helpful for me and significantly contributed to my learning. 

Link : https://learn.acloud.guru/course/certified-kubernetes-application-developer/

If you can find mock questions online, I highly recommend using them as they are very beneficial. You can find mock exam questions on learning platforms like Udemy, KodeCloud, Cloud Guru, and even on GitHub (see https://github.com/dgkanatsios/CKAD-exercises).

**Mock exam re-take**

After practicing with Cloud Guru, I decided to retake the mock exam. I gave myself four days to review what I had already learned and redo the mock exam. I passed the mock exam with a better score of 56%. While this score is still not sufficient, it is important to note that the mock exam is intentionally more difficult.

Three hours before the actual exam, I reviewed parts of the documentation and revisited the exam questions on Cloud Guru.

### Tips for practice

- Learn to use imperative commands with kubectl as it saves time.
- Familiarize yourself with the basic structure of Kubernetes YAML files.
- Know how to effectively search the documentation.

### Exam experience

This was my first professional exam, so naturally, I felt a bit stressed. However, the actual exam was easier compared to the mock exams, as I had expected. In fact, I finished the exam 30 minutes ahead of time, which was a positive outcome. While some questions were challenging, I attempted to answer them in case I could earn additional points.

After completing the exam, I had to wait 48 hours to receive the results. Fortunately, I passed the exam with a score of 78%.

### Tips for the exam

Here are some tips I applied during the exam. Most of these tips are time-saving techniques as the exam is also a test of time:

- Use shortcuts for the command line, such as using "k" for "kubectl."
- You can use the documentation during the exam, so utilize it for copying and pasting generic code.
- Read the instructions carefully.
- Use environment variables, such as setting "$do" to "-dry-run=client -o yaml." This is particularly useful when you want to generate a YAML resource file.
- Use flags if you are unable to answer a question; you can return to it later.
- Some questions carry more weight in terms of points (4%, 6%, 9%), so prioritize accordingly if you are running out of time.
- Remember the tips from the practice section!

### Conclusion

In conclusion, preparing for the CKAD certification requires a combination of theoretical understanding and practical hands-on experience. Invest time in learning core concepts, take online courses, refer to official documentation, and practice using mock exams. Manage your time wisely during the exam, prioritize questions, and utilize shortcuts and environment variables. By following these tips, you can increase your chances of successfully obtaining the CKAD certification. Good luck on your journey to becoming a certified Kubernetes Application Developer!