Cracking CKAD: My Journey

Finally, ‘monkey off my back‘, CKAD done. I shall not boast that I could clear in 3 or few weeks of preparation. In fact, I started preparing for this since December last year (2020). Having business as usual activities, balancing between priority items for business vs learning is sheer art (we called it “time management”).

Good part is that i cleared it in my first attempt. I actually started preparation for CKA and somehow due to busy life and in middle of practice, i deviated my whole focus on yaml side of word. Later realized that my preparation became CKAD heavy. Thus, i decided to attempt CKAD first than CKA because i found myself more comfortable with K8 development than operation because we all are living in cloud world. We don’t build K8 cluster most of the time, we are operating and developing on top of it.

Some of my learning method and tricks are mentioned below;

  • Getting Familiar with Shell Script: There are plenty of tool and extension available which can make life easy while developing K8 in environment but remember in exam you will not get those tool/extension. Only thing you have to develop and execute is ‘vim’ or ‘nano’. So, if you are not going to get development IDE in exam, then there is no point of using those during your exam preparation.
  • Get Hands Dirty: This is not Q&A type exam. There is only one way you can crack it if you know how to execute on given lab environment. Therefore, there is no alternate to hands-on-labs. Get familiar with concepts but if you don’t practice, nothing will help.
  • Speed Against Time: 2 hours, you will 16-19 challenges. If you are not familiar above two, then things will not be favourable. Weightage base question play major part in your success but don’t get bogged down by weightage only. Trick: Do First Round in Sequence, what comes on the way (sequential). Attempt-Solve-Stuck-Make note of Question Number-Move Ahead-Round1 Done-Come Back to Note Down Question, if time permits. Doing this trick, you may get some easy one which will have decent weightage; thus, you don’t waste major time.
  • Read question thoroughly and Store Yaml Smartly: For different challenges you need to write yaml file from scratch, check challenge where to store final Yaml, where to store output. If you are stuck in some challenge and you need to revisit it again, how will you know which Yaml file belong to which challenge because you will have many files by that time. Trick: Name Yaml file based upon question number. So, i name them like q12.yaml. Thus, if I have time left to revisit. I go to my note check Q12 is left. I go to Q12.yaml and start working from there. Time saved in going back and forth. Organize yourself during exam.
  • Kubernetes Doc is your best friend: If you have done all first two things mentioned above, then I assume that you will eventually become friend with Kubernetes documents. Some section of K8 docs will give you full end to end answer like POD with Persistent Volume and Persistent Volume Claim. Deployment Roll Out, ConfigMap with Volume etc. I read may learners shared that they bookmarked many sections and use those during exam. Ok for them, but I did not find much use as time is limited and single browser session is only allowed. I rather get familiar what key word to put in K8 doc based upon challenge type. Thus, understanding of K8 basics is critical.
  • Imperative is winner: In time base exam, Imperative commands are winner or call them ‘trump card’. These all command are golden repository and will help tremendously Kubectl Reference Docs (kubernetes.io). Make yourself familiar with all of them.
  • Shortcut are time booster: Alias will play major role in saving your time in writing long statement. I did not use many but use few and practice them many times in my preparation;
    • alias c=clear
    • alias k=kubectl
    • alias kd="kubectl describe" <kd po xyz or kdl pod/xyz as pod/xyz can be copy paste from kga output>
    • alias kdl="kubectl delete --force" <kdl svc xyz or kd service/xyz as svc/xyz can be copy paste from kga output>
    • alias kga="kubectl get all" <help getting single pane of glass visibility and allow to copy paste thing for kd, often use kga -o wide (for IP and additional details) or kga --show-labels (for label mapping)>
    • alias kns="kubectl config set-context --current" <very critical as things will be in different context or namespace, kns --namespace=xyz>
    • alias ktmp="kubectl run tmp --image:nginx:alpine --restart=Never -rm" <use to quickly validate if things working fine, ktmp -l app=sample -i -- curl svc:8080>
  • Validate your work: Don’t just solve challenge and rush to next question. Validate if response were right using tmp pod etc. Control your excitement and be critical about your solution.
  • Have a mentor: Discuss with technical topic who has cleared this exam prior. Understand his experience, his logic on commands etc. Definitely, there will be area where you will have confusion or not clarity. Forums are another good way to get those clarified but better if someone personally with whom you know and can discuss topic. CNCF offer mentorship program also
  • Failure is learning: We learn best from our failure. CNCF offers two attempts under single coupon code. So, even if you are feeling bit less on confidence, there is no harm going for attempt and check where do you stand, so that next time you can come strong more prepared. In my case, I cleared in first attempt so I did not require 2nd attempt but yes, I was equally worried if I can make it in first attempt. My mentioned keeps on pushing me that go for exam and get familiar yourself. I use other way where I attempted various mock exam such lighting lab from #KodeKloud in prescribe time, killer.sh labs were super helpful and are must.
  • Group Study: If you find some study group, then it can be major booster for your preparation. I participated in my company CKAD Learning Sprint Study Group where organizer brought in speaker who has expertise on K8 or cleared this prior. Hearing practical insight, technical session and solving challenges given by them were super useful. You can find many such study group in your company, meetup or even you can initiate such group yourself.
  • Some other good github repo to practice further https://github.com/bbachi/CKAD-Practice-Questionshttps://github.com/David-VTUK/CKAD-StudyGuide

These are some of learnings. Next step for me is CKA.