My Notes some of this and some of that

CKAD Exam Guide

I cleared CKAD recently (Nov 2020) on my first attempt. It was the most challenging certification till date for me but an equally gratifying one. I read lot of blogs on how to prepare for CKAD and really grateful for the ones who shared their wisdom and experience, so now it’s time to do the same.

What is CKAD?

CKAD is a comprehensive exam that could help software engineers strengthen their Kubernetes knowledge in practical way. It’s a complete hands on certification, so it not only needs your concepts to be clear but also be quick with configurations and commands.

According to official site: The Certified Kubernetes Application Developer (CKAD) program has been developed by the Cloud Native Computing Foundation (CNCF), in collaboration with The Linux Foundation, to help expand the Kubernetes ecosystem through standardized training and certification. As one of the highest velocity projects in the history of open source, Kubernetes use is exploding.”

CKAD certification detail links:

How to get CKAD certified?

  • Create a CNCF account
  • Register for CKAD for $300
  • Schedule exam as per your convenience
  • Take the exam online

Exam pattern

  • 19 questions of different weightage
  • 2 hours
  • 66% passing
  • Complete hands-on
  • Open book (you are allowed to refer Kubernetes documentation)
  • Proctored (Someone would keep a watch on you remotely via webcam)

Preparation material

Blogs

Practice Material

You need build your concepts first and then do lot of practice in order to complete all questions in time.

Exam experience

I was ready 30 minutes before exam, and noticed that exam button gets enabled 15 minutes before the exam start time. Proctor also joined right on time, and straight away started the chat to proceed with identification. He verified my Id through Webcam (I showed my passport). Then he proceeded to check if there are not any additional processes or applications running on my system apart from Chrome. Then he checked the whole room from where I appeared for the exam. All the walls must be clear. He also verified the desk, it should be clean and should not have any extra objects apart from your laptop.

This was over in 10 minutes, with 5 minutes left for the exam to start. Proctor also asked me at randomly to raise my hands, and will keep communicating about the left over time.

The exam panel has 2 sections. Questions are displayed on left hand panel, and terminal on right hand panel. Toolbar at the top has link to notepad and submit/end your exam. You can skip questions and also flag the questions you want to return to. There is chat box at the bottom which can be used to communicate with proctor.

I attempted the questions based on their weightage and difficulty. I attempted the questions in my strong area and the ones which involved less steps, or could be done easily with imperative commands. I was able to attempt 13 questions in the first hour, with only 6 left to be done within next 1 hour. This helped to calm my nerves. Then I proceeded with all left over questions and was able to attempt all those with 15 minutes still left. So I started validating all questions one by one. I wasn’t able to validate all questions but still happy that at least got some time to validate. I was happy that I found one mistake where I created my resources in wrong namespace, and was able to fix it quickly.

Auto complete didn’t work for me, which created a minor hassle for me, and still I don’t know the reason why. The timer bar is displayed, but it doesn’t shows the actual time remaining which is not very ideal.

It’s an intense situation because you have to remain very focussed for 2 hours. But thankfully everything went smoothly.

Important tips

  • Before even registering for the exam, it’s very important to do a compatibility check on your system.

  • Bookmarks are a big help. Import the bookmarks and use it for your practice so that you get the familiarity and can navigate quickly.

  • Imperative commands are the biggest differentiator in this exam. I can’t stress this enough, you should be very thorough with all imperative commands.

  • Create alias for kubectl commands, a second saved here, a second saved there adds up to few minutes! I created these 3 aliases and these were enough for me. Feel free to create more if needed.

alias k=‘kubectl’
alias kdo=‘kubectl --dry-run=client -o yaml'
alias kns=‘kubectl config set-context --current --namespace'
  • Enable autocomplete using below command. This also helps to save lot of time. More details here
complete -F __start_kubectl k
  • Be aware of short aliases for Kubernetes resources, it help to save some time. You can always check with “kubectl api-resources”. Here are some:
po for PODs
rs for ReplicaSets
deploy for Deployments
svc for Services
ns for Namespaces
netpol for Network policies
pv for Persistent Volumes
pvc for PersistentVolumeClaims 
sa for service accounts
  • For the exam, try to create separate yaml for each question (1.yaml, 2.yaml). This will help you to remember and make changes if needed.

  • Exam has questions of different weightages and difficulties. Attempt high weightage questions first, or the ones which seems simpler to you or could be done easily with imperative commands.

  • Practice is the name of the game for this certification. It’s an open book for a reason! Clear your concepts first and then practice a lot to get lot of familiarity with the configurations and imperative commands.

  • Be cautious of namespace, node and context. Each question in the exam would mention the command to change context if needed. Make sure to switch to right context before attempting the question.

  • Some questions might require you to recreate object. Take care to export existing object to yaml before changing. You don’t want to end up in a situation where you have deleted the resource and unable to recreate one.

  • You need to be well versed with Vim/Nano editor. Choose the one you like or are most comfortable with. After imperative commands, this is the second most important factor which would save you time. Make sure you know how to navigate, copy/paste and modify the file quickly. This link would help: Essential Vim For CKAD Or CKA Exam

  • You should also be aware of Vim settings. This would make sure that you have the right indentations, and copy/paste does not insert tabs, which could be time consuming to troubleshoot and fix. Here are the Vim settings which worked for me.

vi ~/.vimrc
Add below lines
set nu
set et
set sw=2 ts=2 sts=2
  • There is a good chance you might get a question related to fluentd. You need not be aware of fluentd, and it’s configurations would be given but be aware of how to provide multi line configurations in the yaml file if needed. Here is an example

Bookmarks

Here are the bookmarks for all the tasks and configurations for quick navigation. Use this for your practice to get better familiarity.

This is an extensive guide with my experience and has links to some very good blogs and practice questions. I hope this will help you in clearing your certification. All the best!