I recently sat and passed the Certified Kubernetes Application Developer (CKAD) exam. In this blogpost I will share my exam experiences, provide some tips and also explain how I prepared for this exam.
First of all, CKAD is one of the four official Kubernetes certifications:
- The Kubernetes & Cloud Native Associate (KCNA) demonstrates a user’s foundational knowledge and skills in Kubernetes.
- Certified Kubernetes Application Developer (CKAD) is about designing, building, configuring and exposing cloud native applications running on Kubernetes.
- Certified Kubernetes Administrator (CKA) is targeted at administrator responsible for the basic installation, configuration and management of production-grade Kubernetes clusters.
- Certified Kubernetes Security Specialist (CKS) requires a CKA certification and is about a broad range of best practices for securing container-based applications and Kubernetes platform during build, deployment and runtime.
CKA and CKAD on the one hand a bit similar, focus on different target audiences: CKA is focussed on devs/engineers who want to learn & understand how to run apps on Kubernetes, while CKA is targeted on sys admins that need to install, configure and manage Kubernetes clusters. There is a fair amount of overlap, CKAD is perceived as a bit easier however don’t underestimate the exam. CKAD is (just like CKA) a hands-on exam. You have to complete around 16 assignments in only 2 hours, time is your biggest enemy if you haven’t practised enough.
Prepare for the CKAD exam
So, how to prepare for the CKAD exam? First, have a look at the curriculum overview so you have a better understanding of what is required to pass the exam.
Second, I would recommend some kind of training to learn more about Kubernetes concepts and how to deploy applications on Kubernetes. I am a big fan of acloudguru.com (acquired last year by Pluralsight) where they have a broad range of trainings available, including a CKAD training:
The Certified Kubernetes Application Developer (CKAD) certification focuses on the Kubernetes skills needed to design and develop applications in Kubernetes. This course covers the topics and skills you will need to develop Kubernetes applications and earn your CKAD certificate. We will get hands-on with Kubernetes as we explore how to design, deploy, monitor, configure, and network Kubernetes applications.
Of course there are numerous other trainings available, including an official training provided by The Linux Foundation.
Topics discussed in the CKAD training are:
- Application design & build (building images, jobs, cronjobs, multi-container pods, init containers, volumes and persistent volumes);
- Application deployment (deployments, rolling updates, blue/green – canary updates, helm);
- Application observability & maintenance (api depreciation, probes/healthchecks, monitoring, logs, debugging);
- Application environment, configuration & security (customer resources, service accounts, authentication, admission control, configmaps/secrets);
- Services & networking (network policies, services, ingress).
Of course is interesting to learn how this all works, but it’s even more important to get hands-on experience (especially if you want to pass the exam).
To successfully pass the CKAD exam three things are important: practice, practice and…practice. So get your lab up and running or use the labs provided by A Cloud Guru (or your preferred training partner). You can use their lab environment or spin u your own Kubernetes environment. The A Cloud Guru (ACG) course includes a lesson that explains how to build a basic Kubernetes cluster, however it’s more interesting to deploy Tanzu Community Edition so you get some Tanzu Kubernetes Grid experience as well…it’s up to you!
My tip is to use the Lesson Reference of all the lessons at ACG and try to run all the examples that are included in the training. All the kubectl and YAML code is included in these Lesson References.
Another nice way to prepare for your exam is to go through the practice exam provided by The Linux Foundation (as part of your CKAD registration). This gives you an impression of how the exam simulator works, and will also give you a good understanding of the questions that will be asked. Again, CKAD is a 100% hands-on exam requiring you to be able to deploy & configure apps on Kubernetes. My recommendation is to run through the practice exam, and try to fully understand each question: what is asked and how to answer the question (and configure Kubernetes). There’s an option to view and create a PDF of all the questions, use this PDF for your own reference.
Last important remark: you don’t have to learn everything by heart because you are allowed to consult on-line documentation including the Kubernetes and Helm documentation. It’s a big advantage if you know your way around in these documentation sites and can easily find the required information.
Take the CKAD exam
Before you actually take the exam check the candidate handbook that includes important information. Notice that the exam is featuring a remote proctor, so you can do (or actually must do) the exam from your home location. There’s a proctor admission proces in place, where the proctor will check your computer, ID/authentication and will also verify if the testing environment and surrounding area meets the testing requirements. Some important requirements are:
- Room must be quiet, private and well lit
- Bright lights or windows should not be positioned behind the Candidate
- Testing from public spaces such as coffee shops, stores, etc. is not allowed
- No one other than the Candidate can be present in the room
- Desk must be clear of all notes and electronics
On top of this there’s a pretty long list of requirements specific to the candidate, check out this page for more details. The remote proctor is very strict and will ask you to show the environment using your webcam:, make sure you have a clean/compliant testing environment available. The proctor will not release the exam until everything is verified and the admission process has completed.
After the exam is released you’re ready to rumble! You have about 2 hours to complete CKAD, my exam consisted of 16 assignments. Some tips:
- 2 hours is only 2 hours, so keep things going! If you don’t know the answer to a question, skip the question and work on stuff you do know!
- Be fast:
- Use k as an alias for kubectl (pre-configured)
- Use k create or k run to pre-configure for the initial setup of your yaml files. Use “–dry-run=client -o yaml” here, or even beter configure a variable for these options using export (export do=–dry-run=client -o yaml).
- Configure vim to use 2 spaces for a tab edit in ~/.vimrc
- Use –force when you are deleting a pod
- User history to re-use a previous command
- You can use tmux to split the terminal screen (not something I have used, but maybe you like it). Here is a quick and easy guide to tmux.
- Don’t forget use the correct Kubernetes clusters for the different assignments. There are about 4 different clusters available, so you have to set the correct context when starting with a new assignment! This is explained in the exam, so cannot be missed.
After you’ve completed the exam you have to wait for about 24 hours before the results are shared with you. If things did go well you will become the proud owner of the CKAD certificate.
I hope this was useful, feel free to leave a comment in case you have any questions.