How I successfully cleared Certified Kubernetes Application Developer CKAD exam in 5 weeks?
Tags: kubernetes, linux, ckad, certification
Published: 2020-08-03 23:39:29

<!-- wp:paragraph -->
<p>Last week I appeared for Certified Kubernetes Application Developer (CKAD) exam and after 36 hours I got my result as pass. It was an incredible journey since I started learning Kubernetes around 5 weeks ago. This blog post will feature about how I prepared myself for CKAD, tips and tricks, and more.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I had zero knowledge about Kubernetes before I started learning for the CKAD. If I can do it, you can also successfully clear CKAD exam. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>What is Certified Kubernetes Application Developer?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>From the Linux Foundation excerpt </p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p>The Certified Kubernetes Application Developer exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes.</p></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>Cost of the certification is $300. Often there will be promotions from the Linux Foundation where you can buy the exam for about ~$250. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Become a <a aria-label="undefined (opens in a new tab)" href="https://shareasale.com/r.cfm?b=1560450&amp;u=1164787&amp;m=59485&amp;urllink=&amp;afftrack=" target="_blank" rel="noreferrer noopener">Certified Kubernetes Application Developer</a> (CKAD)!</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":7460,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://qainsights.com/wp-content/uploads/2020/08/Screenshot_150-1024x793.png" alt="" class="wp-image-7460"/><figcaption>Certified Kubernetes Application Developer - NaveenKumar Namachivayam</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>How had I prepared for CKAD?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CKAD is not like other typical exam where you will select the correct answer from the options, it is 100% pure hands-on. You will be given scenarios to deploy pods, deployments, fix the issue etc. My exam was quite challenging. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I was able to attend all the questions and had some spare time to review my answers once more. Couple questions I was not able to give 100% correct answer, but I never gave up till the last minute.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As I mentioned I had zero knowledge about Kubernetes. All the Kubernetes terms were aliens to me.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To get started, I subscribed to the following:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Linux Academy</li><li>KodeKloud </li><li>For practice <a href="https://github.com/dgkanatsios/CKAD-exercises">https://github.com/dgkanatsios/CKAD-exercises</a></li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Before I started watching the CKAD course materials, I completed the following courses:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Kubernetes for Beginners in KodeKloud</li><li>JSON PATH Quiz in KodeKloud</li><li>Vim course in Linux Academy</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Above courses will give you the speed which will help you in the actual exam.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"textColor":"very-dark-gray","gradient":"light-green-cyan-to-vivid-green-cyan","className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link has-text-color has-very-dark-gray-color has-background has-light-green-cyan-to-vivid-green-cyan-gradient-background" href="https://shareasale.com/r.cfm?b=1560450&amp;u=1164787&amp;m=59485&amp;urllink=&amp;afftrack=" target="_blank" rel="noreferrer noopener">Register for CKAD</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p>If you are new to containers world, I suggest you watch <strong>Docker for the Absolute Beginner - Hands On</strong> from KodeKloud. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I watched CKAD course from Kode Kloud and Linux Academy just once at 1.5x speed. I had spent at least couple of hours daily in watching the videos and trying out the sample exercises.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Linux Academy has a Playground feature where you can spin up couple cloud instances to practice the Kubernetes challenges. But Kode Kloud has Katacoda environment which is not useful as the Linux Academy Playground. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But KodeKloud CKAD course has lots of questions to practice around. Linux Academy is limited in terms of practice questions and its complexity. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I also practiced these CKAD exercises at least thrice before my exam <a href="https://github.com/dgkanatsios/CKAD-exercises">https://github.com/dgkanatsios/CKAD-exercises</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Above exercises helps you to be agile using imperative commands.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Tips and Tricks</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>Watch KodeKloud and Linux Academy CKAD course videos at least once at 1.5x speed</li><li>Practice the lab exercises at least thrice. Even if you are too good at it, repeat it. E.g. in Kode Kloud there is an exercise to deploy WordPress website. For the first time it took me 40 minutes, second time it took me 20 minutes. Third time I used imperative commands which took me around ~10 minutes. </li><li>Practice the CKAD GitHub exercises at least thrice.</li><li>Never create yaml during the exam manually. Use <code>--dry-run=client</code> command to generate and edit the config.</li><li>Practice vim editor shortcuts. Make sure you know how to copy and paste, search and replace, save, and quit.</li><li>Use auto complete for <code>kubectl</code> commands in the exam. I never used alias in the exam. But if you like it you can set it to <code>k</code> to save time.</li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>Important Notes and the Exam Tips</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>You need to be fast in the exam.</li><li>Book the exam time slot one day ahead</li><li>Choose the time that you are active. I took the exam from 7.00 PM to 09.00 PM EST.</li><li>The online proctor will scrutinize the exam room <ul><li>I was told to remove the watch and the label in the water bottle</li></ul></li><li>Use the latest version of Chrome</li><li>Make sure no one is using the internet bandwidth in your home/office</li><li>Make sure no one is entering into the room during the exam</li><li>You will be monitored via video and audio feed</li><li>You can open only one extra tab to surf through the Kubernetes documentation during the exam</li><li>You can request for the break, but the timer will not stop </li><li>Exam terminal will display the questions at the left side and the console at the right.</li><li>There will be a copy button for the key text like the image name, deployment name etc. </li><li>Make sure you change the context for every question, even if you are in the right context</li><li>Always flag the question to come back later</li><li>Immediately after the exam started, I configured the auto complete and make sure it is fine. Then I opened Kubernetes documentation and kept it aside.</li><li>I started answering the questions which are small and concise. </li><li>I flagged all the questions which has large paragraphs</li><li>After answering each question, I validated the output</li><li>If you are taking more time to one question, just flag it and move on the next question.</li><li>Use the imperative commands only in the exam. If you are creating yaml config manually then you will not be able to complete all the questions. </li><li>Below are the frequently used commands, of course <a href="https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands">there are more</a><ul><li><code>kubectl get po</code></li><li><code>kubectl get deploy</code></li><li><code>kubectl get cm</code></li><li><code>kubectl get svc</code></li><li><code>kubectl get ns</code></li><li><code>kubectl get secrets</code></li><li><code>kubectl run nginx --image=nginx --restart=Never</code></li><li><code>kubectl create deployment redis --image=redis</code></li><li><code>kubectl create service my-service clusterip --tcp=80:80</code></li><li><code>kubectl create namespace mydev</code></li><li><code>kubectl delete po --force --graceful-period=0</code></li><li><code>kubectl delete deployment redis</code></li><li><code>kubectl delete cm my-configmap</code></li></ul></li></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul><li>In few instances you need to SSH into the worker node, make sure you come out of it once you are done with the tasks.</li><li>Read the question at least twice to understand better.</li><li>Before creating any object, make sure you are using the correct name, image, namespace, version etc. </li><li>Do not type critical information manually, make use of copy button in the question.</li><li>I used Kubernetes documentation to create persistent volume, persistent claim and for cron job. It is important to know how to search and get the relevant info from the docs. In the exam, do not rely on the help completely for all the questions.</li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>Important Links</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li><a href="https://www.cncf.io/certification/ckad/">https://www.cncf.io/certification/ckad/</a></li><li><a href="https://docs.linuxfoundation.org/tc-docs/certification/lf-candidate-handbook">https://docs.linuxfoundation.org/tc-docs/certification/lf-candidate-handbook</a></li><li><a href="https://github.com/cncf/curriculum">https://github.com/cncf/curriculum</a></li><li><a href="https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/">https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/</a></li><li><a href="https://www.edx.org/course/introduction-to-kubernetes">https://www.edx.org/course/introduction-to-kubernetes</a></li><li><a href="https://docs.linuxfoundation.org/tc-docs/certification/faq-cka-ckad">https://docs.linuxfoundation.org/tc-docs/certification/faq-cka-ckad</a></li><li><a href="https://github.com/dgkanatsios/CKAD-exercises">https://github.com/dgkanatsios/CKAD-exercises</a></li><li><a href="https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands">https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands</a></li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>What's next?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>I am planning to appear for CKA (Certified Kubernetes Administrator) once 2020 version is live. I am wishing you the best for your exam. Please let me know if you have any questions. </p>
<!-- /wp:paragraph -->