I strongly believe in Kubernetes as system management.
Designing Distributed Systems written by Brendan Burns (one of Kubernetes project founder https://www.linkedin.com/in/brendan-burns-487aa590/) was the first book I read about distribuited system and of course Kubernetes.
If you haven't done yet, I strongly suggest it:
After I read it in 2019 I wrote an article about (https://www.yuribacciarini.com/single-node-patterns-in-distribuited-systems/).
By the way, YES I'm very happy to have passed the CKAD (Certified Kubernetes Application Developer) of Cloud Native Computing Foundation bought through Linux Foundation.
And, why not share my experience in order to help you to pass the CKAD exam?
I've organized this article as below:
- Where I start?
- Strong suggested TIPS
- Prepare your room for the exam
- During exam
Where I start?
The first thing is obviously buying the exam so after that you are eligible to schedule it whenever you want (⚠️within a year from the day you buy it).
The Linux Foundation offers two items:
- Exam Only ($375)
- Course+Exam ($575)
Since I've bought Exam Only I can't give my opinion about Course+Exam bundle, surely I can say that you can pass the CKAD exam buying the Exam Only as a well (and save money too 💰).
My studying/training kit was mainly composed by 2 items:
- Kubernetes Certified Application Developer (CKAD) with Tests from Udemy https://www.udemy.com/course/certified-kubernetes-application-developer/ (~ 10$)
Someone can think that a $10 course can't help you for the CKAD exam, they are wrong! Mumshad Mannambeth is always straight to the point 🙏🏻🙏🏻🙏🏻
- Extra test from killer.sh https://killer.sh/ (~ 30$)
Included in your "Exam Only" package you also have two killer.sh tests but I suggest to buy an other couple (remember that this is a performance test, so you need to speed up you fingers!).
Note that Killer.sh is more difficult and has more questions despite of the real exam (my CKAD exam had 16 questions).
Extra links from the community:
So all it is! Relax, you don't need extra material!
💰 Note about total spending: $375+$10+$30=$415
Let's now build a sample gantt ⏲️ on how you can organize 3 weeks and take the CKAD exam as smoothly as possible!
⚠️ This is simply a personal suggestion
⚠️ I assume that you invest on average 1.5 hour every day for 3weeks
⚠️ I assume that you know containerization (with Docker for example) and Kubernetes. I mean that you know at least how to build a container, how a container communicates with the outside/inside world, how to run a deployment in Kubernetes.
I suggest to invest first 2 weeks following the Udemy course. This course is very useful because doesn't assume that you already are a Kubernetes expert. During it, you can choose to skip some sections (if you are already familiar about it) or not. I personally skipped some sections because I already had Kubernetes experiences in many production environments (mainly italian Banks).
During Udemy course you will redirect to KodeKloud where the practice takes place. KodeKloud doesn't want to be an exam simulator but a real gym where doing pure exercises.
KodeKloud is included with the Udemy course (you will receive a KodeKloud coupon code during the course).
As i did, you can use the last week to do only exercises:
- At the end of Udemy course you will find two time based exercises
- 4 tests on Killer.sh (previously bought)
Strong suggested TIPS
The first tip that I absolutely suggest is to follow the Linux Foundation wizard where you will find detailed information, anyway I've collected the most important things below.
- Relax, https://helm.sh/docs/, https://kubernetes.io/docs/, https://github.com/kubernetes/, https://kubernetes.io/blog/ and their subdomains are allowed to be checked during the exam.
- CKAD is a Performance Test, so you need to deal with the time.
Killer.sh tests are very useful to speed up yourself.
- All the questions must be done in a specific namespace of a specific cluster so live with the below commands before every question
k config use-context <context-name>
k config set-context --namespace=<namespace> --current
Train for it on KodeKloud / killer.sh
⚠️ Note that on KodeKloud / killer.sh you will not be asked to do
k config use-context <context-name>because you will be pointing to the right cluster yet but keep in mind it.
- Put aside your mania for well ordered yaml 😥
Remember that every seconds/minutes used to format yaml is wasted.
An excercise that you surely will face with is to add a LivenessProbe to an esisting deployment. As you can see below, the "exec" block has too many spaces compared to "livenessProbe" but it's OK because it's WORK!
- Use VIM editor
It's recommended to use vim editor for its advanced feature of text manipulation (sometimes you have to assemble yaml from multiple sources)
(ESC) + (CTRL+D)
Add space(s) to multiple lines
(ESC) + (CTRL+V) + (ARROW UP/DOWN) + (SHIFT+I) +
(PRESS "SPACE" HOW MANY TIMES YOU WANT) + (ESC)
Inside the shell exam you will already find
I suggest also
export $d2="-o yaml"in order to export a ready yaml with
k create deployment test --image=nginx $d1 $d2 > out.yaml
- Useful commands
Due to the performance mode, we don't won't to wait during pod deletion (if required)
k delete pod --grace-period=0 --force
I strongly suggest to set the right namespace before doing anything
k config set-context --current --namespace=<namespace>
Prepare your room/tools for the exam
As described in the Linux Foundation CKAD requirements you need to set up as well as possible you room to meet them.
Below my exam desk example, I still had some art painting on the wall (they are okay).
3 main things:
- Don't wear smartwatch / smartphone
- Don't use Ubuntu or some kind of Linux distro 😭
I did the exam with a MacBook air without any problems.
- USB (External) Webcam
During the check-in you will be required to show an ID card with a valid signature (for example passport).
⚠️ Check before the exam that you webcam can focus without any problems to your ID card so personal data can be read.
You had studied, your room is ready, you don't have reason to be afraid by the CKAD exam. So, remember 6 things:
As I said, if you passed killer.sh tests you are seriously ready.
If check-in will require 20/25 minutes don't panic. Don' panic as well if you accidentally close the browser or tab during the exam. In both case, time will be automatically stopped.
On the top left you will also find the remained time.
- Two tab browser admitted
During exam you can still open maximum 2 browser tabs. One for the exam and an other one for reading allowed documentation.
I wrongly opened a third tab during the exam, proctored doesn't killed me (he only says to me to close the third one).
- Remember context every single question
On the left side, before every question, it remembers you to switch to the right cluster (just copy and execute the proposed command)
- Bookmark unanswered questions
There's a nice embedded tool to bookmark questions, I personally used it to mark unanswered o partially answered questions. I did these marked questions quietly at the end.
So my suggestion is, if a question is taking more time as normal, go on! You will have time at the end to give them the needed time.
- If you finish before the time (as i think)..
Go to the bookmarked questions and if you still have time, give a check to others.
⚠️ Some questions ask you to do some things and than rollback (so consider it during the last check to avoid mess and lower the score instead)
Results will be available in 36 hours but I know how this ends...
And it will at the end of the exam page (https://trainingportal.linuxfoundation.org/learn/course/certified-kubernetes-application-developer-ckad/exam/exam)
Good luck 🤞 and if you have any questions feel free to write me on Linkedin