Yay! I just got CKA certified and in this blog post, I would like to share with you my experience with the certification, learning resources I used, and some tips and tricks for passing the exam.
Why get certified
In the previous month, I passed the CKAD exam, It was a great learning journey as I was just getting started with Kubernetes(check out my blog about it). Overall, the CKAD certification focuses on verifying you have a working knowledge of Kubernetes objects(deployments, secrets, pods, …).
After cracking the CKAD exam I wanted to get more deep into k8s, I wanted to understand more about how the control plane components work, networking in k8s, configuring TLS certificates, and how to administer k8s clusters and other cool administrative topics.
I am a big fan of Hands-on, structured learning when learning a particular technology. I’ve found certifications like CKA helps by giving me structure on the study plan and what topics I need to focus on as an administrator:
The exam objectives above help me develop a study plan and know what topics I need to prioritize and focus on as an administrator. This is way easier than learning random Kubernetes stuff online.
Even if you’re already experienced with Kubernetes, the CKA certification will help you validate, fill gaps in your knowledge and boost your confidence in Kubernetes.
About The CKA Certification
Here is some info about the CKA certification:
- The exam is an online, proctored, performance-based test that consists of a set of performance-based tasks (problems) to be solved in a command line.
- You have 2 hours to complete the tasks.
- CKA has been developed by The Linux Foundation and the Cloud Native Computing Foundation (CNCF).
The exam tests your knowledge on how to use Kubernetes as an administrator. To site from the CNCF website:
A certified K8s administrator has demonstrated the ability to do basic installation as well as configuring and managing production-grade Kubernetes clusters. They will have an understanding of key concepts such as Kubernetes networking, storage, security, maintenance, logging and monitoring, application lifecycle, troubleshooting, API object primitives and the ability to establish basic use-cases for end users.
After passing the CKAD certification, it took me a month of preparation, on evenings and weekends. Your mileage may vary. It all depends on how focused you are and how much experience you have with k8s.
Luckily during the preparation, I was preparing with my colleagues and friends from the community and that made it more engaging and fun. If you can, I would encourage you to find or create a study group as it will make studying easier.
I had an issue during pre-exam checks with the proctor. I was using Chrome and I wasn’t able to share my screen with them. There was something wrong with permissions in Chrome. The proctor suggested using a browser called Vivaldi. I refused because I had all my bookmarks in Chrome. Instead, I requested to restart my computer and luckily it was fixed and that avoided me having an exam reschedule. That took me 30 min of troubleshooting and another 15 min for completing the checks. The proctor was patient and helpful. Overall, things went well and I didn’t have any other problems.
During the preparation phase I’ve used various learning materials to prepare for the exam:
- From day one the brilliant kodecloud course by Mumshad Mannambeth was the course that I decided I should take. The same course is also available in udemy. I have to admit that was the best course I have taken to prepare for the certification exam. I really admired how Mumshad easily explains difficult k8s concepts with clear, easy-to-understand analogies and cool animations. Among other things, the great thing about this course is it provides you access to a lab in your browser where you can practice on various k8s tasks.
- I found network policies one of the topics struggled to get right on practice, I used this GitHub repo: https://github.com/ahmetb/kubernetes-network-policy-recipes . The repo contains hands-on example scenarios on network policies.
- Kubernetes.io documentation — Especially the concepts page, where you can learn and deepen your knowledge about Kubernetes concepts, and also the tasks page where you can practice on the concepts you’ve learned before.
- When you purchase the exam, killer.sh provides you with a free simulator exam to test yourself before passing the real exam. I found the simulator exam in killer.sh to be more difficult than the real exam.
- Kubernetes The Hard Way by Kelsey Hightower. This one isn’t required to pass the exam but I found it valuable for learning how to bootstrap a highly available cluster from scratch without the kubeadm tool.
- Don’t get stuck and try all questions. This is very important because if you get stuck on hard questions you’ll miss the easy questions in the end! If you don’t know the answer to a question, don’t waste time on troubleshooting and debugging, flag it, and move on to the next question.
- During the exam, I had 17 questions and I used a timer of 7 minutes, so I don’t spend more than seven minutes on a particular question. If you’re a mac user you can use an app called be focused, it’s configurable. I used it to run timers automatically during the exam, each having seven minutes.
- During the exam, You are allowed to use the official k8s documentation. You’ll find yourself copying & pasting snippets from the docs. Therefore It’s very important to be familiar with it before taking the exam. You can even use page bookmarks, I recommend building your own bookmark pages as you’re preparing for the exam.
- Use Imperative commands whenever you can as it is much faster than writing yaml.
- Sometimes it is impossible to pass all the required fields using imperative commands, to generate the yaml without actually sending a request to the API server, use the following option
-dry-run=client. For example:
k run pod-nginx —image=nginx:alpine —dry-run=client -o yaml > sample.yamlThe above command will not create a pod named
pod-nginx, instead, it will only generate yaml and direct the output to the file
sample.yaml. And there you have a template file where to make all the additional modifications.
- You can use aliases for fast command invocations. By default,
kubectlis already aliased to
kso you don’t have to set it up. I just used one additional alias to change the namespace and 1 export to help me create skeleton yaml objects:
alias kn='kubectl config set-context --current --namespace'export y='--dry-run=client -o yaml'
- If you purchased Mumshad’s course, don’t forget to join the KodeKloud Slack Workspace. There you can post any questions you have about the exam and get help if you need it.
- Familiarize yourself with how the real exam environment looks before starting the real exam: https://www.youtube.com/watch?v=9UqkWcdy140
There are other Kubernetes certifications provided by CNCF, CKA is intended for k8s administrators. If you want to get into other developer-related aspects of Kubernetes then go for the CKAD cert. If you pass the CKA, there’s also the CKS, which is an advanced certification destined for folks who want to be certified Kubernetes security specialists.
In this post, I attempted to share with you my experience with the certification exam, the study material I used, and some tips to pass the exam. If you have any other questions about the CKA certification, feel free to DM me on LinkedIn or Twitter.
If you happen to find these articles useful, you can buy me a coffee.