Last week in July 2020, I earned CKA (98%) and CKAD (81%). Sharing my learning journey here.
PREPARATION
When Mumshad Mannambeth and https://kodekloud.com/ claimed that their courses 'CKA with Practice Test' & 'CKAD with Test' ("KK" - also available on Udemy) along with official documentation are sufficient for Certification, my initial thought was - it is an exaggeration! There are so many blogs and posts saying CKA & CKAD are hands on tests and one of the most difficult one.
I found the claim is - true. KK is the only platform that provides hands on labs, and grades your work immediately to provide feedback on your answers. I had explored courses on Linuxacademy, Pluralsight etc. too. Labs at KK are the most resembling real exams in look and feel.
Here is preparation bullet points:
1- Start preparation with k8s cheat sheet documentation page. A single page has invaluable tips and at least a 10% mark is hidden in a single page!
2- During test, bash-completion package was already installed on jump host (node-1) from where you need to keep changing context to access different k8s clusters. If you are doing ssh to some other node, you need to come back to node-1. So you need to set your aliases, editor variables and auto completion only on jump host.
3- Do not create too many command alias (e.g. kg, kd, kk etc). First 4 lines in the cheat sheet along with a tab for autocomplete is sufficient.
4- If you do not want to miss even 2% marks (I got 98% in CKA), then read the complete question before starting to type a single character in the terminal!
5- Each question has context written at top. A mouse click on it will copy it. Paste it in the terminal before starting each question.
6- Before writing even a single line in any yaml file, think- is there any imperative way to do this? Some resources (pv, pvc, csr etc.) do not have - but many have. Mastering imperative commands with "-o yaml --dry-run" is key to success.
7- First thing when you edit in any yaml is - namespace (if needed). Be aware! Some imperative commands, even you mentioned namespace option, do not write namespace in created yaml file.
8- KK includes lessons on YAML and JSON/jsonptah. Understanding of both topics are essential.
9- you can bookmark official documentation pages in Chrome browser bookmarks, but do not bookmark more than a few as official documentation search is pretty good. For example, if you search netpol or pv, the first search result is Persistent Volume and Network Policies document page respectively.
10- CKA (3 hours test) has a timer bar at the top left corner that turns Red when 1 hour is left. CKAD does not have. Proctor was proactively informing remaining time every 30 minutes.
11- I was able to complete CKA alomost 1h earlier and CKAD ….. I could not do last 2 question! why? With my CKA experience, I derived that there is enough time for me - hence I spend too much time in post verification of each question. Key is - chase your last question. You do not know if upcoming questions are comparatively easy or hard. Once you are done with all questions, spend remaining time to verify and re-chek tricky questions. I did not listen to the advice of many bloggers… and paid the price!
12- Each question has percentage weight. Cosider 4% as 4 marks. How much time you need to spend on this ( CKA : 3h x 60 minutes * .04 ~= 7.2 minutes). So if you cannot complete it in this time, flag it for later attempt and move on.
13- If you are using vim editor, your friend is : echo 'set nu list sw=2 ts=2 expandtab' >> ~/.vimrc
14- Learn how to use explain to see all possible attributes of a k8s resource. In certain cases, it will eliminate the need to search documentation.
kubectl explain pods --recursive | sed 's/ <.*/:/g' > pe.txt (after first /, press ctrl+v then Tab and then literal <.*/)
15- To create 3 nodes VM clusters locally, do not waste time on researching here and there. Bring it up in 15 minutes with Vagrant https://github.com/nansari/vagrant. If you are taking a KK course, just follow it. It has a full module on creating k8s HA clusters by hard way.
16- Do all Lightning Labs + Mock Labs + Labs on DaemonSet, multi-container, Ingress, NetPol exercises until you get 90% right within given time
17- Read about all kubeadm init option even you have not used it and think that you are not going to use it.
18- In the last one week test your learning by solving free 'Games of Pods'. It will teach you a few more things, test your knowledge and shake your beliefs too!
19- Occasionally, there will be a discount offer 15-30% by Linux Foundation, or even more during Black Friday. Continue your preparation and purchase exam at a later date.
20- Finally, are these tests hard as many posts and blogs claim? Depends - how did you prepare? Get yourself ~3-4 months. If planning to take CKAD and CKA both, attempt CKAD first.
PRE-EXAM
1- Schedule your exam 10-15 days earlier to get a favorable time slot, especially for CKA. I could not find APAC favorable time and finished the exam at 2 AM!
2- If possible, avoid taking tests in late evening. You may not be able to sleep whole night with anxiety.
3- Portal will be open for login 15 minutes earlier.
- Disable ctrl+w to eliminate closing of tab accidently! On my Ubuntu, I have key mapped it to ‘nope’ a few days earlier than the test.
4- Mute mike, you do not need headphones too. All is done over chat.
5- Use two screen setups to take exams - one for the test terminal and another to browse k8s documentation.
6- Do not keep anything on your desk. Only Keep your ID proof and a bottle of water. Remove all other things beforehand as anyway proctor will ask you to remove all other items.
7- You need to move the webcam around your room to show all 4 walls, 4 corners of table and under table space.
DURING-EXAM
1- You can request a break during the exam though the timer will not stop.
2- Notepad editor located at the top right corner of the test portal is not very efficient. Whatever you write there will remain there even if you close and reopen it.
- Ctrl+C and Ctrl+v do not work for copy and paste . User Control+Insert to copy and Shift+Insert to Paste
3- if you are creating a k8s object from yaml, spend a moment to re-check yaml (especially pv, pvc and pod) before doing apply/create on it. Once an object is created, deleting may take a couple of minutes - time is a precious resource!
POST-EXAM
1- Remember, you have a second free attempt, so switch off all your k8s related thoughts for a day until the result is delivered to your email inbox.
2- Do not expect results too early - wait for 36 hours, especially if you are in a certain time zone.
3- Celebrate your success and share your experience.
ADDITIONAL RESOURCES
Free courses
https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
https://www.edx.org/course/introduction-to-kubernetes
Book
Kubernetes: Up and Running
Do comment if you find this post valuable. Feel free to share; no creaditt required.
I'm reachable @nasim_ansari
Short url of this document : https://bit.ly/ckackad