Achieve Certified Kubernetes Administrator (CKA) Certification — Learn Well !

Sarva Bhowma
5 min readMar 15, 2021

I’ve recently given my CKA exam, passed with 98% and want to share my experience and throw some light into the details of the examination along with some tips.

First, to start off, the Exam is 2 hours and ~20 Questions long. The passing score is 66%. The Exam costs $300.

Let me clarify this, if you are using Kubernetes (k8s) at work regularly, this examination is not really tough, like several other blogs mentioned. I personally completed the exam in less than 2 hours (scored 98%) and I think you can too.

I have followed Mumshad M course on Udemy, in my opinion this is sufficient.
https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/

Exam Structure:

Probably you have already gone through it, but let me re-iterate it again. There are 15–20 tasks for you to complete in 2 hours (I got 17 questions). Each question has different weight (1% to 13%) and they are set in different cluster. There are 6 clusters. 2 hours is gracious amount, so don’t panic.

Official latest curriculum → https://github.com/cncf/curriculum/blob/master/CKA_Curriculum_v1.20.pdf

For more info visit : https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/

All questions pertaining to a cluster are packed together, so you technically have to change clusters. Before each question, ‘context change command’ is provided for you to change the cluster. You click on these commands to copy to clipboard. So no worries there. The ‘click to copy’ feature was very useful in the exam. Please do not try to type manually, better use this feature.

kubectl config use-context k8s

Make sure to read the questions carefully, based on my understanding even if you miss a single alphabet, for example, if the question asks you to create a pod named ‘nginx’ and you have created ‘nignx’, I suspect the answer is invalidated. So please use ‘click to copy’ feature. Some questions ask you to redirect command output to a path@file. Match it carefully and re-check by ‘cat’ the path@file.

Important Links for Exam Prep:

  1. For More Practice (paid) : https://killer.sh/
    The platform costs 29.99 €, and contains scenarios which are toucher than exam. But would help you gain confidence. (I personally didn’t used it).
  2. For Practice on Readymade Cluster (Free): https://www.katacoda.com/courses/kubernetes/playground
    The platform is provided by katakoda, and is free to practice if you donot have resources to practice.
  3. Kubernetes Playground (Free) https://labs.play-with-k8s.com/
    K8 is providing the playgroud where we can install and configure own K8 cluster with kubeadm way.
  4. Github Links:
    For Complete CKA reference : https://github.com/walidshaari/Kubernetes-Certified-Administrator
    For Network Policy Practice Questions : https://github.com/ahmetb/kubernetes-network-policy-recipes
    For CKA Kubernetes Doc Bookmarks : https://gist.github.com/jonatasbaldin/4e76846ce8fb17e5d2fa64bdea594930
    For CKA Exam Practice (Old, but nice to practice) : https://github.com/alijahnas/CKA-practice-exercises

Exam Tips:

  1. Don’t panic and try to keep your cool.
  2. If you are attempting the exam from your home, prepared to show around using your laptop or webcam, complete 360 degrees and show hands for ‘no-smart-watches’ rule etc., desk needs to be cleared off every thing except for your laptop or PC. They were strict about this.
  3. A clear water bottle is allowed. Thank God for that.
  4. kubernetes.io is your holy book, if you have never read or used this, please do now. Or at least know your way around in there. You are allowed to open only this site and most probably you can find answer for every question.
  5. Use ‘ssh <node Name>’ to login to any node. Always exit to the main VM where you logged, I think if I remember correctly it was ‘student@node-1’.
    Assume root access by using ‘sudo -i’ command after logging in. Once task is completed, always remember to ‘exit’ twice to reach to ‘student@node-1’ machine.
  6. Prepare to install or repair clusters using kubeadm.
  7. One thing I have never used till date in k8s, was JSONPath expressions. In CKA there were at least 1 question which uses this. Try to practice JSONPath expressions, customcolumns and sort-by options.
  8. Make sure to explore the logs for kubelet and how to debug it, if it’s broken or simply, not started. Silly thing like, ‘systemctl start kubelet’ should suffice.
  9. Prepared to be using ‘docker ps’ in case if kubelet or kube-apiserver is broken.
  10. There is a notes section available for you save any notes. Click on “ExamsControl” on the top and then click “notepad”. You can track your attempted question + weight.
  11. Try to attempt to finish the ‘KTHW’ at least once. This would give you a fair idea on how k8s works under the hood. At least browse any demos if available. I did twice using Mumshads KTHW here.
  12. Try to use imperative commands as much as possible to save time.
  13. Concentrate on StaticPods, NodeSelector, Kube-Scheduler, Kubelet, Kubeadm, secrets and ETCD backup/restore.
  14. Use ‘kubectl explain <resource>.spec’ to know how to specify the yaml files if needed. For example, ‘kubectl explain pod.spec.securityContext’ to know about what keys are available for SecurityContext options.
  15. Few more commands that could help, ‘kubectl api-versions’, ‘kubectl api-resources -o wide’, selector option, ‘kubectl get pods — selector name=foo’
    Note down few files and locations like /var/lib/kubelet/config, /etc/kubernetes/manifests/ etc.
  16. You will be using Linux for everything. So get familiar and practice with vi, systemctl, service, journalctl commands.
  17. Try to create a pod with multi-containers, init-containers and test pods with busybox:1.28, which helps you to use nslookup, wget etc.
  18. Learn to navigate the documentation well so that you can save those precious seconds.
  19. Kubectl -h is your friend. yes, Kubectl help is sometimes more useful than the documentation, and it saves time. For example, to run a Deployment, Kubectl run -h provides examples on how one can deploy easily. This means that you do not have to memorize the commands. Just know when to use which command.
  20. Use the autocomplete before starting of exam. The steps are given here: https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/ This will save a lot of time in exam.

I personally don’t suggest to practice on minikube. We know it’s easy to spin off a cluster locally and practice on minikube. But I would suggest you create a cluster with multiple nodes yourself on any public cloud/VM’s. This gives a close-to-real exam experience and will give you a chance to debug multi-node cluster issues. It’s tedious to do this but it’s worth it.

I hope these tips and notes about CKA examination helps you with your certification. Don’t panic, please type slowly and use the ‘click to copy’ feature as much as you can.

Last but not the least, there is no shortcut to success. You have to buckle down and spend time with your VMs, Kubernetes cluster, documentation and practice as much as you can before the judgement day.

If you like these tips and notes, please show by clapping.

All the best !!

--

--