From my experience, I must tell you that CKAD is not just about learning the syllabus. Studying all the topics of CKAD will not take much time. The real challenge is to apply your understanding/learning and solving the problems during exam time duration. This exam tests your time management skills while implementing your learnings. Before the exam, I went through multiple blogs where people shared their experience with CKAD certification process. I practiced/applied some of them during my preparation and exam.
Before I enter the technicalities of the exam, I would assert on the point that the most powerful mantra to clear this exam is practice, practice and practice. My recommendations are only over and above this mantra. I set out below some of the ways in which I practiced and prepared:
Cluster Setup:I set up a Kubernetes cluster with a master and 2 worker nodes using the Vagrant tool in my Windows OS to practice and get my hands extremely comfortable with kubectl commands(link ). You can also use cloud provisioned Kubernetes clusters for practice .
Linux & Vim: As I was new to the Linux environment, I got myself familiar with some basic Linux commands like grep, wget, curl, apt-get. I learnt a few keyboard shortcuts to edit faster in Vim.
Imperative command and dry run: I utilized the imperative commands as much as possible. Used Short names of the resources (e.g.: po for pod, deploy for deployment, sa for service account). Also, used --dry-run -o yaml which is very much handy to create yaml resources.
Kubernetes documentation: The exam allows you to keep only one extra tab in your browser for referring to Kubernetes official sites. You can always refer to it while solving problems. I planned to reduce using it as it would consume more time. Hence, I practiced problem with limited usage of it . However, there are some resources like Persistence volume, Network policy which can’t be created using imperative commands. Under such situations, I have relied on the Kubernetes documentation.
Use of ‘kubectl explain’ command: If you forget some yaml properties, use ‘kubectl explain’ command to get details. It is much faster than searching in documentation and hence, developing an habit of using it will save your time during exam.
Once the exam started, before attempting the question I did the following:
- Autocompletion set up: Autocompletion set up will save you some time during the exam. You will find the steps to do it in the Kubernetes documentation.
- Vim Editor Set up: There were a lot of yaml file editing during the exam. So setting up the vim editor made the task easier. The command below turns on line numbering, sets the tab to two spaces.Edit the vim configuration fle .vimrc and add
Edit the vim configuration fle .vimrc and add
Autocmd FileType yaml nu et ts=2 sts=2 sw=2
Create alias and variable: Creating the following alias is another timer saving technique which I used during the exam.
Alias kgp=’k get po -o wide’
Alias kn=’k config set-context –current –namespace’
Alias krm=’k delete –force -- grace-period=0’
Export do=’—dry-run -o yaml’
Things to be kept in mind during the exam:
- CKAD exam environment provisions 4 clusters. You have to create resources in the clusters specified in each question. While moving to a new question, I executed the command to switch the cluster which was already provided above each question. Also, I made sure that I work on the correct namespace. You won’t get any score if you perform your answer in the wrong cluster and namespace.Hence, this mistake is unforgivable after all those hard work.
- The weight of score is not evenly distributed. Strangely, I found a couple of questions which were time consuming but had just 2 % weight. To save time, I flagged such questions and moved to the next one to come back if I have time at the end.
- Time management is the most critical and toughest part in this entire process. Never be stuck with a question and miss attempting the easier ones due to shortage of time. Move on to the next question if you have spent decent time on one question.
The best part of this exam was that none of the questions came as a surprise. All I had to do was keep calm, read the question carefully and create the right resources at the right place with a strict attention to timer.
Besides the above technical tips:
- Before the exam, ensure you have a clean desk. I just kept a glass of water and identification card on my desk besides the computer and related accessories
- An external keyboard and mouse will make you faster.
- Go through the candidate handbook
- According to me, morning time is best to take the exam.
Resources I have used for preparation:
1. Udemy Course: Kubernetes Certified Application Developer (CKAD) with Tests by Mumshad Mannambeth:
My work experience helped me to get the basic understanding of Kubernetes . But this Udemy course gave me confidence to take the exam. The lightning labs and mock tests were the good platform to practice for the real exam.
2. Kubernetes official site:
I went through the documentation(tasks section specially) to get better idea of creating Kubernetes resources
It provides a variety of problems and solutions.
4. Golden Guide to Kubernetes Application Development by Mathiew palmer:
It has 30 useful questions and set up commands to create exam environment
6. https://killer.sh/: This test is almost similar to the real CKAD test. A good one to measure your preparation.