Passing the Certified Kubernetes Application Developer (CKAD) Exam from the Cloud Native Computing Foundation: Lessons Learned

Passing the Certified Kubernetes Application Developer (CKAD) Exam from the Cloud Native Computing Foundation: Lessons Learned

The CKAD (Certified Kubernetes Application Developer) exam, designed by the CNCF (Cloud Native Computing Foundation) (https://www.cncf.io/certification/ckad/) is a task-based exam which you can sit without going to a test center. You need a solid internet connection and a quiet environment though, where you can isolate yourself for the 2 hours necessary to complete all the 19 tasks proposed in the exam.

At the beginning of the exam, which is based on PSI’s Exam Local platform (https://www.examslocal.com/), the remote proctor performs all usual checks to assess that you are sitting the exam in a clean environment. They are apparently quite strict: I had to show my tabletop, the surrounding environment, even my wrists, to show that I was not wearing any smartwatch. Several times during the exam I was reprimanded for putting my hand in front of my mouth, a gesture I usually do to concentrate!

The exam uses a web-based terminal, and you are provided with several fully functional k8s environments. Some of the tasks require to switch kubectl context to operate on the correct cluster, so be sure to check which k8s context the task at hand refers to.

For each exam you have a full description of the task, clearly divided in steps. I did not have trouble in understanding the purpose of a task or the steps required: the instructions are very clear, and sometimes there are some useful hints at the bottom of the task description. Be sure to immediately check at the bottom for those tips, and do not dive immediately to perform the first step of a task. The tips can save a lot of time.

The tips at the bottom can save a lot of time. Time is probably the most challenging factor in this exam.

Time is, indeed, probably the most challenging factor in this exam. With two hours allotted for 19 different tasks, you have little more than 6 minutes to complete each task. Every task has a weight, so you are able to determine which task will score more points to reach the passing threshold of 66%. It is imperative that you use the navigation function to quickly scan which are the most valuable questions and invest time in those, then go back and cherry-pick the questions with lower scores (they are tricky too). Do not get tangled into the resolution of a task with a low score.

CNCF publishes a curriculum of the exam, which accurately portraits what you can expect. For CKAD, the curriculum is here: https://github.com/cncf/curriculum. Be sure that you master every single item of this list, as you can expect one or more tasks related to each one of the topics listed here. You need to be able to create Pods and Services, use Network Policies, use architectural patterns (Sidecar, Ambassador, Adapter), understand when a service or pod fails and how to determine the root cause of this failure, use secrets and configmaps, use deployments and cron jobs. In short, you need to know how to use Kubernetes in a real production environment.

You really need to know how to use Kubernetes in a real production environment.

Usually most of us work with Kubernetes using the default namespace. Instead, be sure you learn how to work in different namespaces and how to use them. You can get seriously confused with the results of a kubectl get if you don’t remember that resources can be on different namespaces.

You may be tempted to perform all these actions by editing .yaml definitions (in a browser-based terminal with vi from a remote connection!) and kubectl-creating them. However, sometimes kubectl offers a faster alternative with just a single command. Be sure that you take your time practicing with the kubectl –help feature. Especially kubectl run, get, expose, set, describe, rollout are the cornerstones for a successful interaction with Kubernetes. Spend time challenging yourself to create and update deployments using only kubectl commands without any .yaml editing. That will be a great time saver. For fast typing, do an alias k=’kubectl’ right at the beginning, so you stop wasting time typing ‘kbuctl’, ‘kubelct’, and all the marry gang.

Practice kubectl run, get, expose, set, describe, rollout until you know them inside-out

Another important preparation item, is that you need to know the structure of the online Kubernetes documentation inside out. You are allowed to keep one tab open, and that tab should be on http://kubernetes.io/docs. Especially the “Concepts” and “Tasks” sections contain a lot of yaml examples that you can copy-paste into the terminal to jumpstart your task. Be sure that you are able to export in yaml format resources descriptions: pods, services, etc. Practice the technique of exporting a pod, editing its definition, reapply the yaml.

When you are confident with all this, you’re set for the exam. One nice thing is that CNCF gives you a free retake, so you can also plan sitting the exam in two steps: you can sit a first time with an “exploratory” attitude, to gauge your preparation, and then sit a second time with a more prepared, determined attitude, knowing more concretely what you can expect from the exam.

As you can understand, the CKAD is designed to be extremely practical, and the tight timeframe is enforced to prevent you relying too much on reading documentation, ensuring that you have already at your fingertips everything you need to know.

As a result, passing the CKAD exam is a good indication that you can immediately make an impact in any team with your Kubernetes knowledge. This is great news, since “professional quiz-takers” are filtered out and this credential is therefore highly considered and recognized among peers.

Passing the CKAD exam is a good indication that you can immediately make an impact in any team with your Kubernetes knowledge.

If you want to challenge yourself and get to know better how to use Kubernetes as a Developer, this is the exam to take! Go and do it!

 

Thimoty is available for consulting in the topics of microservices architectures, cloud native architectures, Kubernetes-based applications. You can get in touch at thimoty@thimoty.it

 

To view or add a comment, sign in

More articles by Thimoty Barbieri

Others also viewed

Explore content categories