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.
-
dgkanatsios GitHub Repo
- Try to do this at least 3 times
-
This article with many exercises
- Try to do this at least 2 times
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 letterk
- This enable
- 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
PS
- 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)
Conclusions
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 (7)
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!
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
bash
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?
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 dok
+ 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
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.
I think in the same way. For understanding all the concepts of the exam it's definitely the better way.
Thanks , can you let me know the number of hours it took you to prepare? i just wanna have an idea
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.