Setting up the Context
This article would be mostly irrelevant if you are new to cloud or container technologies. Still, if you have been working with containers for some time, you must already be familiar with the term Kubernetes; this might throw some fresh perspective if you intend to appear for one of the Kubernetes exams organized by the Linux Foundation. For people who are aware of the exams conducted for getting certified in Kubernetes technology like CKA, CKAD & CKS, the Certified Kubernetes Application Developer Exam is one of the most revered exams for people who want to orchestrate their application development in Kubernetes.
Since I am a developer by heart, I too yearned for the shiny badge bestowed by the Linux Foundation for clearing the exam, which catches the gaze of big companies who mostly use Kubernetes as one of the development platforms for their applications. So, I prepared for the exam for months as it was a new technology for me, and it is not an easy exam to crack. So, I am sharing my experience for the preparation as well as appearing for the exam:
The Preparation Journey
I started preparing a year ago after I had to deliver training on the fundamentals of Kubernetes and AKS, its counterpart on Azure. The technology bedazzled me, and I was a complete novice but completed the training. After that, I was determined to dive deep into it, and once I gained some insights, I decided this would be my next mission.
This certification exam was not an easy ride. Although I am required to complete certifications as a part of my quarterly objectives, the priority goes to training which I must deliver. Being a seasoned trainer, I was always occupied with a lot of training. I did not get ample time to prepare for the exam or shadow training conducted internally or externally.
So, here is my tip no. 1 for the exam: Don’t buy the exam or start preparing until you have at least a month on your hand when you have no other priority tasks to steal it.
The course curriculum is lengthy and requires intense hands-on practice as all the questions in the exam are implicative and not objective. All the questions need you to solve a task which takes some time. Usually, if you are a beginner, the same task can take up to 15 minutes for you to solve, but once you have a good preparation for the exam, you must solve that task by any means within 5 minutes.
So, here is tip no. 2: Practice makes a human perfect. Do a lot of hands-on by using the CKAD playground on killer.sh or KillerKoda.com, as you will not get enough time in the exam to solve all the questions accurately.
Coming to time management, I would like to share some crucial tips (tip no.3) that will help you in the exam:
- Edit as many YAML files as possible. I would recommend instead for you to create your own yaml files instead of copying and editing ones from Kubernetes.io/docs/home because it will give you more clarity with the structure of the Kubernetes manifests and how to create various Kubernetes objects. You may refer to the manifest documentation and then type the same on your terminal. When it comes to the exam, you will need to edit some pre-built files and directly deploy them, or you might not have time to search for each YAML file and then edit them after copy-pasting them.
- Time your tasks. Every task you complete should not be more than 5 minutes if you want to ace the exam. The exam is for 2 hours, and you need 66% to get certified. Since there would be at least 15 and not more than 20 questions, you must complete one question within 5 minutes. So, even if you get 20 questions and complete the exam within 5 minutes, you can complete it in 100 minutes and still have 20 minutes left to verify all your resources for their work as per the task requirement. This exam environment gives you only a minute to verify if a resource is working, which is ideal, but in case it is not, you have little time left to remediate it.
- Try to use imperative commands as much as possible. Creating the resources with just a command is easier than creating a YAML file and then editing it until it does not give you an error before deployment. Also, in imperative commands, you can easily use —help to get an idea of how that resource is created. Still, again my recommendation would be to practice memorizing the standard commands, as there are not many commands you will need to remember. Still, you can refer to documentation or help when required, especially when you are getting errors while doing the same.
- Also, when it comes to imperative commands, you can save time by abbreviating certain repetitive expressions like ‘—dry-run=client -o yaml‘ and ‘—force —grace-period=0‘ by exporting them to some variable and then using it with the $ sign. An even shorter way of using imperative commands is by typing just the initial characters in the word in that command and then pressing the tab to let it autocomplete it for you. You would have to play with it to understand how it works to use it effectively. Then you can also replace names like ‘kubectl’ with k, ‘—namespace‘ with -n, ‘persistsantvolumeclaims‘ with PVC, and so on. For a complete list, refer to the K8s documentation on the same.
- Now, after that, some objects like Persistent Volumes, Claims, Storage Classes, Network policies, etc., cannot be created using imperative commands, and it is better to copy-paste their manifest files from the docs or create them manually. Creating a dummy definition by running it as a client and getting output in a YAML format is always recommended for creating the resources using imperative commands. This action will again help you save time as you will first edit the deployment with all the changes and then deploy it simultaneously. This way, you can reuse the template if your deployment does not work or gives you an error by making any changes to the manifest and then using the ‘—replace -f‘ command with ‘—force‘ or simply deleting and applying the manifest again.
- You must be familiar with some shortcuts for working with your Linux terminal. First, you should check certain things like tab-stop is set and shift width & tab-width are set to 2. Although it will be selected by default, If not, set them in the terminal and then proceed with the exam. Next, when copying inside the terminal, you need to use “control+shift+c” and outside the terminal “control+c” to copy the contents in the remote desktop browser. Similarly, to paste, use “control+shift+v.” When you are inside YAML files, to delete a single or few lines, you need to take the cursor to the first line, press ESC then “shift+v” to enter the Visual mode, and then press arrow keys to select the desired lines. Then, press ‘:’ and then ‘d’ to delete them. Once deleted, recovery is not possible, so be careful while doing it. Similarly, to shift copied text into the YAML files left or right, go into the Visual mode and select the copied lines. Then press “shift+<” or “shift+>” and keep repeating the process.
I swear these things took a lot of time for me to learn, and only last month I learned the previous few wonderful tricks. Enough with the time management thing, even though it’s super important. There are some other key factors when it comes to the exam.
Tip no. 4: Always read the question thoroughly and make sure you are using the right cluster context and are in the right namespace. Although you will have access to a command for setting the Cluster context, you must use it before starting each task. Once that is complete, your resource must be in the right namespace. Otherwise, you can do the entire task accurately and still get no points. As a recommendation, I would suggest using ‘k -n‘ and then the namespace name before the rest of the command so that it gets executed in that namespace only. Make it a habit, even if it is the default namespace where you perform the task. This trick will give you an edge, but also check the same in the YAML files and add or modify it if it is not there; otherwise, it will create the resource in the default one. This tip will, of course, be exceptional for Persistent Volumes and Nodes.
In the exam, you can only access Kubernetes.io, helm.sh, and docker.io on the remote browser for documentation purposes, so please be well-versed with these resources. For practice and learning, I prepared using Mumshad Mannambeth’s Udemy course, which is sufficient for learning all the essential topics for the exam and gives a plethora of resources for hands-on exercises along with Mock exams and exam update topics. I would suggest you go through the complete course two to three times along with the tasks.
- Cloud Migration
- AIML & IoT
How to Get Trained for CKAD Exams?
We at CloudThat offer both in-person and online Kubernetes training from Kubernetes-certified trainers. Our training encompasses real-world exposure to Kubernetes projects and access to the TestPrep portal, through which you can take up as many mock exams as you want.
The next place you can prepare is KillerKoda, which gives you a playground for the CKAD exam and some practice tasks on exam-related topics, such as Training Scenarios. If you have already scheduled your exam, you should also get a sample practice test on the killer.sh, which will show two versions, but both are the same exam, so do not attempt the second unless you want to practice the same questions again. The important thing is that the simulator environment in the sample exam would be only valid for 36 hours from the time you start, so plan it accordingly, but the good thing is that the solutions for that exam would be available after 36 hours as well so you can revisit and check them or try them in a playground in attempting to simulate them. Also, the rule is clear that the actual exam is more accessible than the sample attempt, so practice it thoroughly, as once you are confident with it, it will be easier to give the real exam. Also, within 36 hours, you can reset the simulator anytime, so you can practice for 2 hours 18 times or 36 times if you launch both attempts.
Having been briefed about the simulator environment, I would like to give you a final tip: please do not go on for 18 hours or at a stretch while preparing, and take rests frequently when required. Make sure to have consistency while preparing, and if there is any pause, start over, as many concepts are interconnected.
So, here is my experience and some tips on preparing for the exam to confidently appear for it. In my next blog, I will share the experiences I faced while appearing for the exam and how to deal with it.
Get your new hires billable within 1-60 days. Experience our Capability Development Framework today.
- Cloud Training
- Customized Training
- Experiential Learning
CloudThat, incepted in 2012, is the first Indian organization to offer Cloud training and consultancy for mid-market and enterprise clients. Our business aims to provide global services on Cloud Engineering, Training, and Expert Line. Our expertise in all major cloud platforms, including Microsoft Azure, Amazon Web Services (AWS), VMware, and Google Cloud Platform (GCP), positions us as pioneers.
1. How can we enroll in online/offline training for individuals & corporates?
ANS: – We at CloudThat have multiple batches of individual training and also provide discounts to corporate training requests. For more info, please visit Certified Kubernetes Application Developer (CKAD) Certification Training (cloudthat.com)
2. Is there any license required to practice Kubernetes for exam preparation?
ANS: – Kubernetes is open source and offers free sites like Killerkoda, which offers a free-to-use Kubernetes playground, valid for an hour to practice. Udemy courses provide you with their version of playground for their hands-on lab.
3. Which other exam can one appear for to be certified in Kubernetes?
ANS: – There are three other exams you can investigate for getting Kubernetes Certified: First is the Cloud Native Associate Exam which is targeted at beginners. Second is the Certified Kubernetes Administration exam targeted for Kubernetes admins and experts. Then we have a Certified Kubernetes Security Specialist specifically for people working on the security part of Kubernetes security. Finally, we have CKAD, aimed only at developers or for people with intermediate skills in Kubernetes. If you are starting with Kubernetes, you can go for Cloud Native or CKAD exam; otherwise, if you are already good with the technology, I would recommend CKA or CKSS exam. You can learn more about it on kubernetes.io/training.
4. Is it an online or offline exam, and how many attempts do we get?
ANS: – The exam is only available online mode and is a proctored exam. After you purchase the exam, you get two attempts, and the eligibility is for one year from purchase.
WRITTEN BY Rishabh Beniwal