How to tackle the infamous CKA exam

Our journey in passing the Certified Kubernetes Administrator Exam

Adam Osman
5 min readSep 20, 2021

This was written in collaborating with Mohamed Abukar.

We have all been there — playing around with clusters, deploying pods, creating services, scaling deployments and much more. Then comes the sudden realisation that we have to sit an exam on all these topics. This can be quite daunting at first but fear not! We have written this article to explain how we got certified in CKA and how you can do it too.

Prerequisites

There are no official prerequisites to sit the exam but there are some things we would recommend:

  • Having a fundamental understanding of containerisation
  • Linux fundamentals and CLI

How the exam works

The CKA exam is an online, proctored hands-on performance-based exam, so the key is to get lots of hands-on practice and know the documentation to a good level. You have 2 hours to complete the tasks. When you register for the CKA exam, you will have two attempts at an exam simulator, provided by killer.sh — by Kim Wüstkamp. The exam is based on Kubernetes v1.21.

The passing score for the CKA exam is 66% where the harder questions have a larger mark percentage and vice-versa for the easier questions. The exam costs $375, there are usually discounts provided throughout the year so keep an eye out for those. Alternatively, your company may be able to reimburse you. The certificate is valid for 3 years.

A breakdown of the topics in the CKA exam:

  • Application Lifecycle Management
  • Installation, Configuration, and Validation
  • Core Concepts
  • Networking
  • Scheduling
  • Security
  • Cluster Maintenance
  • Logging / Monitoring
  • Storage
  • Troubleshooting

So now that we learned how the exam works and which topics to cover, how do we prepare for it?

Educational materials

To keep it short: There is no better method than hands-on labs!

Some of us have the luxury of being trained by the companies we are employed at. For the rest of us, here are some courses we recommend and have benefited from:

Going through these courses and practising them at your own pace will suffice in preparation for the exam.

DISCLAIMER: There are other courses. These are just the ones we benefitted from.

Study advice

Firstly, when embarking on lab work, always aim to take the path of least resistance in attaining an outcome. In basic terms, make sure to familiarise yourself with imperative kubectl commands instead of writing YAML files from scratch. Practising this from the start will engrave these commands in your muscle memory and save time in the exam.

Secondly, keep the K8s documentation as your guide! Make sure to constantly refer to it as you are learning as this will be your main source of support in the exam. Alternatively, kubectl — explain command can help in explaining what a desired command does and how to use it.

Lastly, make sure to understand the architecture of Kubernetes and what each component represents or is capable of doing. Don’t fall into the trap of going through a course and blind following the instructor with no idea of what the commands he uses achieve — believe us, we have been there!

Practical Advice for the Exam

  • Be comfortable and confident in using the K8s documentation. This will be your companion in the exam lest you get stuck.
  • For the sake of time efficiency, make sure to set up kubectl auto-complete as soon as you begin the exam. Here is the link. Also, possibly set aliases to help you save time in the exam. For example an alias for kubectl
alias k=kubectl
  • Make sure you are right context in the exam for each question using
kubectl config set-context [context name]
  • Be sure to use dry-run options in the exam rather than creating YAML files from scratch. For example:
kubectl create deploy nginx --image=nginx --replicas=4 --dry-run=client -o yaml | tee deploy.yaml
  • Be adept with vi, able to edit and navigate quickly within it.
  • Refer to the kubectl cheat sheet if you get stuck on simple commands.
  • Be good with Linux commands such as systemctl, grep and the simple commands used in Linux CLI.
  • When creating static pods, remember you don’t apply them. Rather, you create the YAML file in the directory /etc/kubernetes/manifests and they are automatically applied since they are managed directly by the kubelet daemon.
  • You need a good understanding of pods, deployments (all types), services, persistent volumes (PV), PV claims, DaemonSets, Static Pods, Network Policies, RBAC, Ingress and the rest of the topics.

Conclusion

To summarise, the above advice is a documentation of our journeys. As such, we hope we have provided a practical guide to succeeding in the exam. Make sure to follow the steps and enjoy the journey!

What is next?

We are currently on a journey to learn more about the ever-growing ecosystem of containers, container orchestration, and the DevOps culture. Expect to see more articles and open-source contributions. Stay tuned for more!

Our pages:

Feel free to contact us if you need any advice or help:

--

--