19/09/2019

Now I'm a Certified Kubernetes Administrator + 10 exam tips

On 17.09.2019 and after less than 36 hours of the exam, I got an email that I passed from the first try and I'm now a Certified Kubernetes Administrator (CKA) 🎉🎉


It's not my first performance-based exam, I had before RHCSA and RHCE. But this one wasn't an easy exam at all!

Even you work with K8s every day, it still needs a good amount of preparation. The exam is 3 hours long, however, you need strong time management skills. You cannot afford to waste any time during the exam

Resources

With K8s production hands-on, and my main resources for exam preparation/revision were:

Quick tips

You will find many posts on the internet about CKA exam, those are my 2 cents which could help anyone wants to take the exam.

Here are some tips, and always remember, your mileage may vary! (so I always recommend to review more people experiences)

1. Official exam resources

Read carefully the official exam resources like "Exam Tips", "Candidate Handbook", and "CKA Curriculum".

They have a lot of useful info about the exam and especially the exam environment and what you can and cannot do at the exam. (e.g. you are allowed to open exam tab and 1 more tab has access to K8s docs)

And the most important thing, which will help you a lot during the exam, you need to know your way in the official documentation. You should be able to get any info from there in no time!

2. Ignore tips before 2018

There are many posts about the CKA exam. And after checking some articles, I was a bit confused about what I read, because I found some conflicting information. Later I realized that posts older than 2018 are for the old exam.

For example, I found some tips advice to use "tmux" (a terminal multiplexer) during the exam which could help to save time. However based on my experience how the exam is structured you don't need "tmux" at all. You will find many of those tips, and you are safe to ignore any before 2018 (and better to stick with what's written in 2019).

3. Time management is the key!

Time management plays a key role to pass this exam! I believe that the exam is not so hard, but you can lose many questions just because of the time. So simply during preparation, you need to settle your mind and decide your strategy in the exam.

For example, what you will do when you don't know the answer? What if you know it but don't really remember the details? What is the avg time you will give for each question? What is the max? And so on.

4. Track questions using exam notepad

Part of time management is tracking questions. You can use the embedded exam notepad to write whatever you want. During the exam use the notepad to write what you did in each question, so it's easy to do a final revision when you are done.

Q1: Done (4%)
Q2: not yet (4%)
Q3: done, but need a review (5%)
Write down question number, status, and weight. So if you have limited time for the revision you can do that based on status and weight.

5. Avoid writing as much as possible

Avoid any writing! Generate yaml files using -o yaml --dry-run, copy from official docs, replace from what you created before ... but don't write a lot of text otherwise you will lose a lot of time.

Also, create a file per question e.g. q1.yaml to make it easier to copy-paste. It also helps to revise at the end of the exam.

6. Get familiar with web terminal

All actions of the exam are done in a terminal running in the browser! It's totally a different environment from normal terminals that every Linux user uses on a daily basis.

Normal copy-paste doesn't work, and it uses the old way by using ctrl+insert to copy, and shft+insert to paste. Some essinals actions like those could affect your performance during the exam. (check the CKA Candidate Handbook mentioned above for more details).

To overcome that read about web terminal shortcuts and limitations. Also try to do all of your preparation in cka-practice-environment. Also Katacoda Kubernetes Playground is a good place to do so too.

7. Disable "ctrl+w" shortcut!

As a Linux user, I'm sure I would have many troubles in the exam if I didn't disable the ctrl+w keyboard shortcut! It's used almost everywhere! Vim, Firefox, most of Linux CLI and GUI apps!

Since the exam only works in Chrome/Chromium, the shortcut ctrl+w actually closes the current tab! So if you didn't disable the shortcut, probably you will -unintentionally- close the exam tab while you are doing it!

In Linux with Gnome desktop you can disable it from Settings => Devices => Keyboard, then add a new shortcut with value exit 0. And you can toggle it when you need it (ideally before you start the exam, or even better, few days before the exam to use to it).

8. Enable "k" shortcut with autocomplete

You will use kubectl thousand times in the exam. And as mentioned, every single second of the exam is precious. You will find some tips suggest to make something like this alias k='kubectl' to have a "k" shortcut in the terminal. However, this doesn't enable autocomplete! So if you wrote "k get" then pressed "tab", it will not get the available options as you get it with "kubectl get".

A better way to do that in less than 30 seconds without trying to remember any bash complete options! At the beginning of the exam do:

kubectl completion bash > /etc/bash_completion.d/kubectl.sh
Then open that file, and go directly to the end of it and change this:
if [[ $(type -t compopt) = "builtin" ]]; then
    complete -o default -F __start_kubectl kubectl
else
    complete -o default -o nospace -F __start_kubectl kubectl
fi
To be like this:
alias k='kubectl'
if [[ $(type -t compopt) = "builtin" ]]; then
    complete -o default -F __start_kubectl kubectl
    complete -o default -F __start_kubectl k
else
    complete -o default -o nospace -F __start_kubectl kubectl
    complete -o default -o nospace -F __start_kubectl k
fi
Then source the file:
. /etc/bash_completion.d/kubectl.sh
Simply you add 1 line, and copy 2 lines (you can do that with vim in a blink!) ... and tada, you have the "k" shortcut works with autocomplete in the exam terminal in no time.

It will help you a lot to avoid wasting time during the exam.

9. You don't need to do Kubernetes The Hard Way!

Well, this is a bit unpopular opinion, but I found an exaggeration about doing "Kubernetes The Hard Way"! I found some people told they did it 7 times!

Yeah, it's a pretty good resource to understand K8s from inside, nevertheless it's not for the exam, and you can cover that understanding about K8s from other resources which could work better for you because simply "people are different" (and again, this to have a good understanding about K8s, but that deep understanding is not required to be a CKA).

10. Misc

  • Get a bigger screen! Since the exam is done in the browser, the actual terminal is 70% of your screen size at max (also the embedded note takes some space when you use it). So it's better to avoid taking the exam using small laptop screen and get external one which will make you more comfortable and productive.
  • Keep time for a revision! Sometimes it's better to lose a question and use the time to revision if you don't have enough time.
  • Get familiar Vim and systemd. Vim will help you to be fast, and systemd is part of the CKA curriculum.
  • Make sure of the cluster context. A classic tip, and it's written at the top of each question because the exam has 6 clusters and you could be lost and do the question requirements in the wrong cluster.
  • Make exactly as question tells. For example, if a question asked for a "pod", create a resource with kind "pod", not a "deployment" which eventually will create a pod.
  • Calm down :-) I hadn't any tech exams for some time, so I was a bit nervous at the beginning of the preparation, but in the end, I realized this wouldn't help and there is already a free retake if anything unexpected happened in the first try.

For me, it was hard but a great experience and totally worth it :-)

Powered by Blogger.

Hello, my name is Ahmed AbouZaid and this is my "lite" technical blog!

I'm a passionate DevOps, Linux system engineer, CKA, AWS SysOps/Solutions Architect, RHCE, Free/Open source geek, author, interested in environment, calligraphy, and I believe that “Details Matter”!

Automation, data, and metrics are my preferred areas. I have a built-in monitoring chip, and too lazy to do anything manually :D

Popular Posts