Kubernetes Journey — CKA / CKAD Exam Tips
I have recently passed my CKAD, and CKA exam, and have a passion for coaching and mentoring engineers, so wanted to share some tips and my secret sauce for passing the exams. I will try and keep this blog as interactive as possible as one thing I found when looking for information is I had to go through videos to find the solution that I was looking for and it was time-consuming. You can also find the video version of this blog here.

This blog will focus on tips regarding how to prepare for the exam, and tips for when you are in the exam. The main point I want to get across is to not be a hero, make sure you understand basic Linux commands, VI editor, and docker first. This exam is 100% practical, so you need to be comfortable with all of these as you will find that the 2 hours will run out very fast, so you must not be afraid to learn the basics first.
Contents
- Booking the exam
- Training for the exam
- Tips for both CKA and CKAD
- Tips for CKA
- Tips for CKAD
- Exam Tips
- Join the CNCF Community study group
- Conclusion
Booking the exam date
Booking the date of the exam in advance is important, this will keep you on track with your study, if you find you are not ready you can reschedule 24 hours in advance for free.
There is a cost involved for getting certified, each exam will cost $300US and the cost of each course will cost around $100US. When I have to pay for these exams I'm never worried about the price as it is a great investment into your career, always wait for discounts to come up, last year I attended KubeCon and got 50% off both certs. If you are working your company should pay for this, If you need help convincing your boss, tell them to read a previous blog I have written regarding upskilling teams in Kubernetes here this should help get buy-in.
Each exam comes with a free resit of the exam. I used the fail fast, fail hard approach when I did my exam, I failed each exam the first time, as I wasn't quite ready, but I used the first chance to see how far away I was, this saved me alot of time of studying for things that were not important, and also gave me practice in the exam environment as it is a little different than the labs.
To book your exam go here: CKA, CKAD
Training for the exam
If you are new to Kubernetes I recommend starting with an introduction course there are many great ones out there, I did the EDX Introduction to Kubernetes course, it was great to get into the study and exam mode.

For my study, I used Udemy courses by Mumshad Mannambeth who is a wizard in training, he makes it really easy to understand hard things. The courses can be found here: CKA, CKAD. They come with a series of videos and hands-on labs, which are essential for passing these exams. Now for the secret sauce. As this is a 100% practical exam. I only watched all the videos once. I watched them at 1.5x speed and made sure I understood them. I then spent all my time on the hands-on labs. You are allowed to refer to the Kubernetes documentation in the exam, so I really leveraged that. Every time I needed to find out how to do something in the labs I would refer to the Kubernetes documentation and bookmark it, as you are allowed to use bookmarks in the exam, and two screens, so I was building up an index to refer to in the exam, this helped me pass, so keep practicing the labs and mock exams and referring to your bookmarks. I was going to give a list of my bookmarks in this blog but it is important that you make them yourself so you are used to finding the information fast as you need all the time you can get.

Tips for both CKA and CKAD
- Keep percentage in mind each question as a % weight
- Skip hard questions and then come back to them as time is precious
- Always use the copy button from exam questions instead of typing out namespaces etc to avoid errors eg -n BM1543x
- Use imperative commands over creating yaml to save time, you can reference the kubectl reference docs in the exam.

- Make sure you are in the right cluster, and the right namespace as specified in the question, to avoid deploying to the wrong namespace when using YAML to create resources specify it in the metadata in case you forget.

- Linux commands: cd, ls, grep, cat, cp, mv, mkdir, rm, and rmdir, systemctl

- Ctrl + r: Reverse search to save time typing previous commands

3. Make use of the watch command when checking if deployments worked etc it will execute the command every 2 seconds until you ctrl + c eg watch kubectl get pods

- kubectl api-resources to get names/short names eg. kubectl get svc

- kubectl run -h to get help with using the run command eg kubectl run test — image=bradmccoydev/test:latest — dry-run-client

- 2.yaml Number your YAML files you create with the question number eg kubectl run test bradmccoydev/test:latest — dry-run=client — o yaml > 2.yaml

- Use VIM, if you don’t know it, learn it!
# There are two modes, for writing/deleting txt press i, then esc for edit mode# To Exit press esc then type :q! to exit (no save) and :wq! to exit (save)# Delete a Line
dd# Delete 2 Lines (for 5 put 5dd)
2dd# Undo
u# Search for word eg image in deployment.yaml
(esc) /image (enter)# Jump to the End of the line
$# Goto line 5
5gg
CKA Tips
- Learn JSONPath expressions.
- Try “Kubernetes the hard way” by kelseyhightower on GCP or the alternative VirtualBox setup by Mumshad.
- Be careful when using an alias for commands eg alias k=kubectl as you have to ssh into different nodes all the time sometimes it takes more time when you forgot to set the alias to k
- Practice upgrading with kubeadm
# If you cant remember the etcdctl arguments type the followingETCDCTL_API=3 etcdctl snapshot save -h
ETCDCTL_API=3 etcdctl snapshot restore -h# For the questions regarding troubleshooting the kubelet, try simple things like restarting first before you get carried awaysystemctl daemon-reload && systemctl restart kubelet
CKAD Tips
- Use an alias for kubectl then you don't have to type it all the time eg. alias k=kubectl
# Remember the Metrics server for some easy pointskubectl top node
kubectl top pod
# Check Logs for the podkubectl logs <pod-name> [-c <container-name>]
kubectl exec -it <pod-name> [-c <container-name>] -- sh
# Search in all namespaceskubectl get pods -A
kubectl get all -A# Create a ConfigMapkubectl create cm --from-literal=<key>=<value>
# Create a Secretkubectl create secret generic --from-literal=<key>=<value>
# Create a pod with limitskubectl run <pod-name> --image=<image> --env="<key>=<value>" --labels="<key>=<value>" --requests='cpu=100m,memory=256Mi'--limits='cpu=200m,memory=512Mi'
# Delete a resource without waitingkubectl delete pod <pod-name> --wait=false
# Show labels for pod selector patternskubectl get pod --show-labels
# Scale the replicaskubectl scale deployment <deployment name> --replicas=3
# Change the image on a deploymentkubectl set image deploy/<deployment-name> <container-name>=<new-image-name:tag>
Exam Tips
- You can start the exam 15 minutes before the scheduled time, this is the amount of time it will take to talk to the proctor.
- Make sure that your room is clean on exam day, they will ask you to walk around the room with your camera
- Straight away use sudo -i to assume elevated privileges to make things easier. If you want to get out type exit or su student
- Use “ssh <Node Name>” to get into the node, remember which node you are in so you don't get confused
CNCF Community Group
We also have a CNCF community group where we run a weekly meetup to help people prepare for their exam you can join here: https://community.cncf.io/manly and the slack channel is on slack.cncf.io called: cncf-community-manly
Conclusion:
I hope you have enjoyed reading this blog, if you need any help or have any questions, please reach out to me on linked in. The hardest part of doing these exams is the 36 hours to wait for exam results, normally they will come around 24–30 hours, so don’t worry about checking your emails every ten minutes, don't be worried if you failed, consider it a practice test. Now for my next milestones, finishing the CKS exam, and more production experience. Look out for my next blogs on them!
Please give a clap if you liked it for feedback!
Important Links:
https://www.alldaydevops.com/blog/kubernetes-journey-how-to-upskill-your-teamhttps://www.edx.org/course/introduction-to-kuberneteshttps://www.cncf.io/certification/cka/https://www.cncf.io/certification/ckad/https://training.linuxfoundation.org/wp-content/uploads/2020/01/Important-Tips-CKA-CKAD-01.28.2020.pdfhttps://www.udemy.com/course/certified-kubernetes-application-developer/https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/ https://vim.rtorr.com/https://www.youtube.com/watch?v=yGuPm9D8W_4
My verified certificates:
https://courses.edx.org/certificates/848ba2ccc1f04a188a2fcc44e793772dhttps://ti-user-certificates.s3.amazonaws.com/e0df7fbf-a057-42af-8a1f-590912be5460/ec10b2de-789b-440c-a203-9dfc12d6cf10-brad-mccoy-certified-kubernetes-application-developer-ckad-certificate.pdfhttps://ti-user-certificates.s3.amazonaws.com/e0df7fbf-a057-42af-8a1f-590912be5460/ec10b2de-789b-440c-a203-9dfc12d6cf10-brad-mccoy-certified-kubernetes-administrator-cka-certificate.pdf