Certified Kubernetes Administrator is, in my opinion, the most prestigious certification in the devops domain today. It’s like RHCE 10 years ago. The exam is hands-on, considered to be technically challenging, and it has tight time limit of 3 hours.
Ever since our senior solution architect, Itamar Yerushalmi, passed his exam I have really wanted to get this certification for myself.
I passed successfully with score of 91% on the first try and want to share how I studied for it and what worked for me.
Note: I passed this exam in Oct 2018. This is no longer an open book exam and only Kubernetes docs are allowed. Due to the NDA they make you sign, I cannot talk about questions.
I split this article into two sections learning sources and practice advices.
- Linux Foundation — In my opinion, this is by far the best source to learn from. As the official training for the CKA exam, it covers almost everything that was needed to pass the exam. Toward the end of the course it becomes less in-depth in subjects like helm or federation. It’s a bit pricey regularly, but we purchased this training for $150 during the Black Friday discount. One thing that I dislike about this source is the interface — it feels like it was done in 1997 and they didn’t bother to change it ever since.
- Linux academy ‘kubernetes the hard way’ — Linux academy is a great source for many courses. I used it for my AWS Solution architect exam, I Google Cloud Architect Exam and I suggest it to everyone. This course is even better that the original Kubernetes the hard way document. You get even more detailed explanations, labs and even great smoke tests to check that your cluster is actually working.
- Cloud academy — In general, this one is okay. They have good material, but not enough and a bit outdated. They do have practice labs with different cloud environments — Azure, AWS — which is nice.
- Linux Academy CKA — Avoid learning from this course. The course covers irrelevant subjects, such as installation of Centos k8s cluster with kubeadm; goes into unnecessary details, like 12 minutes video covering all available persistent volume types; and doesn’t go in-depth enough on some important subjects like security, for one example. Quizzes include questions that are not even covered in the videos. This course proved to be a very frustrating experience.
- CKA Office Hours — This is a YouTube video series. Some of the videos are a bit long and boring but it does give examples of real questions and what the environment looks like.
- Life of a packet video — Also on YouTube, it is very important to understand how networking in K8s works even if you’re not aiming for certification it explains a bit about K8s magic.
- Do everything manually — Don’t copy&paste anything. Type all the Yaml files, type all the commands, type all the file configurations. Typing leads to typos, typos lead to troubleshooting, troubleshooting leads to better understanding.
- Make sure you do Kubernetes the hard way. And when I say do it I mean actually do it by typing everything manually. It’s one thing to copy paste cfssl json and completely another thing to type it, make a mistake, figure it out 2 hours later from the kubelet logs that can’t register to the Api server. It makes you feel like a real K8s ninja.
- Katacoda— While most of the scenarios are crap, the troubleshooting scenarios are great!!! Especially if you don’t have any real K8s experience.
- Instruqt.com — has some nice Kubernetes scenarios.
- Linux academy CKA — While it’s a horrible source to learn from as I mentioned above — it’s really great source of practice labs. And it’s even has a practice exam which is similar “spirit” to the real thing and I strongly suggest taking it.
I would say that the exam is structured like that:
30% easy and obvious questions.
30% a bit more challenging question but nothing you can’t solve with enough time.
30% questions that require you to read and learn something unexpected fast.
10% questions that make sure that only a small amount of people can score100%.
- You have only 3 hours — you must manage it well — questions that feels like they will take more than 10 minutes — write them down in the notepad ( in the exam tab notepad ), and move on. Get back to them when all the rest is done. I had 4 questions and I went back to them after I finished all the rest within 1.5 hours.
- Make sure you know how to type autocompletion command by heart. source <(kubectl completion bash). Everything is easier with double tab.
- Make sure you know what error looks like when your yaml is incorrect and how to use kubectl explain. Going to k8s documentation is time consuming and time is of an essence.
- There is a great Heptio pro tip that gives an example of how to bootsrap a yaml file fast. You should know it by heart it will save you a lot of time. You are not allowed to copy&paste more than 1–2 lines. For example:
- Once you have yaml file created you can copy it, change it, reapply it. Don’t forget that you can use kubectl edit — to edit resources faster — therefore saving time on running kubectl apply commands :)
- Check K8s what version will be in the exam (you can find in the candidate book) and make sure you learn with proper material. Features move from alpha to beta to v1 or become deprecated.
Some of the things that I mention are covered in other articles. The point here was to summarize what I found was the most helpful for me during the exam and I hope you found it helpful and saves you a bit of time.
Good luck with your exam ! You can do it!