I recently took the Certified Kubernetes Application Developer (CKAD) exam and passed with 97 out of 100. Some background about myself. I have been a backend + infra engineer working with Kubernetes via Google Cloud’s managed service: GKE for the past few years. I am also a (Ubuntu) Linux user for both the desktop and servers. I am familiar with basic linux commands, bash, tmux and vim.
The primary motivations for me were
- to learn more about different parts of K8s in a structured way
- to challenge, validate and test my existing knowledge
There are other advantages like opening up to more opportunities and adding credibility. They are secondary to me. I also don’t think certifications are not necessary in our industry and I see them as nice to have.
A few tips
Having said all that, the exam experience was fun. A few tips below could help whoever wants to take are
Go through the important links
- CNCF Curriculum - https://github.com/cncf/curriculum
- FAQs - https://docs.linuxfoundation.org/tc-docs/certification/faq-cka-ckad-cks
- Tips - https://docs.linuxfoundation.org/tc-docs/certification/tips-cka-and-ckad
During the exam, you will get a Linux VM. I recommend you to get familiarized with command line, vim, tmux. So that you can be fast to solve the given tasks. There are plenty of tutorials out there to getting started with vim and tmux.
- Vim settings for
.vimrc. I memorized these commands as
s e t
set shiftwidth=2 set expandtab set tabstop=2
- Tmux settings in
.tmux.confto set the prefix key to Ctrl-a, set the window and pane starting index to 1.
set -g prefix C-a set -g base-index 1 setw -g pane-base-index 1
- Some useful bash shortcuts - https://gist.github.com/yelinaung/849c78c40784c56e05f5a04dded9082d
Using Official Docs
You can search through Official docs to reference throughout the exam. This is one aspect of the exam I like. I don’t have to remember all the commands and YAML to pass the exam. Like how I would do my work day to day, I can browse through the documentation.
- official docs - most of the references are here
- kubectl - this is particularly useful for things like
kubectl run ..or
kubectl expose ...
- I took the CKAD with Tests course. I recommend the course as it covers extensively for the exam with hands-on labs.
- Other useful Github repos that I used for practicing are
- You also get two exam simulators from killer.sh as part the exam bundle.
- I did’t go through them but would recommend to go through if you have time. Learn more about them in their FAQ.
Things that I struggled with/Things that I learned
Although I have been using Kube for quite some time, I was not familiar with certain topics such as
- Network Policies
- Service Accounts
- Volumes. I am somewhat familiar with PV and PVC but still learned a thing or two about them like emptyDir
kubectl explain pods --recursive | lessis neat
- Docker capabilities
Other Useful resources
Well, that’s all folks.