DEV Community

Cover image for How to prepare yourself to CKAD exam
Felipe Schossler
Felipe Schossler

Posted on

How to prepare yourself to CKAD exam

After reading a lot of tips of how to prepare yourself and take the CKAD exam, I want to give my tips (and a easy way in my opinion) of how to do this. I've taked the exam 08/31/2020.

First I'll show you how to prepare yourself to take the exam, second I'll give you environment tips like: aliases, vim configs, bash-completion and etc, third I'll give you tips and advices about the exam.

How to prepare yourself and training

I'm going to separate this in two ways, it's working very well and it's more fast than the others ways.

Understand the concepts

First thing that you must have in mind is that this exam have a curriculum, that you can found here. This is VERY important because now we know what we to need achieve in the exam.

The more easy way to understand the concepts in a cheap and very good way is the CKAD course of Mumshad Mannambeth, that you can found here. This course aims prepare yourself for the CKAD exam of course, but the main things here that are the sections of the course are exactly the same sections that you have in CKAD curriculum and additionaly the course have some environments in KodeKloud platform that you can train the sections. So take this course and understand all the concepts (I expend 2/3 weeks here).

Training for the exam

There are many ways to train to the exam that you can find on the internet, this brings to me a lot of confusion, because I don't know how to take for training. After try many ways, I found two very easy ways. REMEMBER: ONLY USE KUBERNETES DOCS FOR SEARCHING AND RESEARCHING.

The main thing here is create a muscle memory for the commands.

Environment tips

For all your training and in the exam you can change things in your environment for helping you to edit files and use kubectl commands, some tips are this:

  • Enable auto-completion:
    • echo "source <(kubectl completion bash)" >> ~/.bashrc
    • echo "source <(kubectl completion bash | sed 's/kubectl/k/g' )" >> ~/.bashrc
  • Use this alias: echo "alias k=kubectl" >> ~/.bashrc
    • This enable kubectl commands with the letter k
  • Enable line numbers in vi: echo "set number" >> ~/.vimrc
  • Study some vi shortcuts, the mose useful are this:
    • u - undo
    • CTRL + r - redo
    • dd - cut the line
    • gg + dG - delete all caracters
    • yy - copy line
    • y - copy (used in Visual mode)
    • p - paste
    • :line - go to "line"
    • / - search a text


  • Remember after this relaunch your bash with bash command
  • Tmux is optional
  • The auto-completion is REALLY USEFUL.

Exam tips

  • THE MAIN THING: Never start a yml from scratch. Always use the flags: --dry run -o yaml
  • The environment exam is really good, you have in your left the tasks the you need to do and already have the command to change to needed context of this task
  • You have 2 hours to do 19 tasks, so you need to carry about your time. I recommend that you focus first on the tasks that you know how to do and it will be easy. You have a notepad for note all the tasks that you pass. So focus on the easy tasks and after this recover the others.
  • Read carefully each question. I m-ade some mistakes on my exam just for don't read carefully, some questions are hard to understand and are big.
  • You can copy from kubernetes docs
  • Use kubectl explain command if you forgot some field (it's really useful)


The CKAD exam is much more have the commands in your mind and time priorize.

If you enjoy this post or you need tips about the exam, just contact me on my social medias. Thank you :)

Top comments (9)

tomasvanrijsse profile image
Tomas van Rijsse • Edited

I noticed a typo in the first Exam tip about dry runs.
It should be like this: --dry-run=client -o yaml
And I am creating an alias for it: alias kdr="kubectl -o yaml --dry-run=client"
That way you can easily do kdr run app --image=nginx > pod.yaml

About the autocomplete suggestions, instead of memorizing these command I just remember to check the kubctl cheat sheet on auto complete, because you are allowed to)

And thank you for your list of tips!

dishijain14 profile image
Dishi Jain

echo "source <(kubectl completion bash | sed 's/kubectl/k/g' )" >> ~/.bashrc

Why do we need this line?
I ran following :
echo "source <(kubectl completion bash)" >> ~/.bashrc
alias k=kubectl

These 3 work perfectly fine, what additional feature I get from the above line with sed? Can something go wrong? If so, can we open a new terminal during the exam?

felipeschossler profile image
Felipe Schossler

If you don't use the line with sed, the autocomplete function with just the k letter will not work.

For example: instead typping kubectl + TAB for autocomplete, you just need to do k + TAB for autocomplete the command.

You can open a new bash section just typping bash in the command line.

If you have more questions just call me on my social medias and I help you :D

downey profile image
Tim Downey

Big +1 to Mumshad Mannambeth's course. It's excellent and way better than the official Linux Foundation course that they bundle with the exams IMO.

felipeschossler profile image
Felipe Schossler

I think in the same way. For understanding all the concepts of the exam it's definitely the better way.

hatem_odeh profile image
Hatem Odeh

Thanks , can you let me know the number of hours it took you to prepare? i just wanna have an idea

felipeschossler profile image
Felipe Schossler

Hi Hatem, I studied every day something between 2-4 hours (from 0 knowledge) and it taked 1/2 months to try the certification at first time. If you want to talk about it, just let me know and we can conversation about.