Preparing for the Certified Kubernetes Administrator Exam
I recently passed the Certified Kubernetes Administrator (CKA) exam. I would like to share my study notes, some exam tips, and links to some learning resources that helped me prepare for the exam.
Study Notes
As of July, 2022 the exam covers Kubernetes 1.24. The Exam Curriculum lists five exam objectives. Before I took the exam, I created study notes for each objective:
- 25% - Cluster Architecture, Installation & Configuration
- 15% - Workloads & Scheduling
- 20% - Services & Networking
- 10% - Storage
- 30% - Troubleshooting
NOTE: In these sections, I attempted to locate and extract the relevant portions of the kubernetes.io documentation that applied to each exam objective. However, I encourage you to do your own reading. I cannot guarantee that I got all of the important sections.
Exam Tips
- You need to practice. The exam is “hands-on”; you are given access to multiple kubernetes clusters and must run commands to complete assigned tasks. In order to be successful, you need to get very comfortable with YAML and kubectl. The Kode Kloud courses and the KLLR SHLL exam simulator are both great for this. O’Reilly also has hand’s on labs and sandboxes that are helpful.
- Get very comfortable with the Kubernetes documentation; you can access it during the exam so get used to finding answers there.
- When using the Kubernetes documentation, you can quickly locate YAML Manifests by using the browser page search to look for the text “kind:”.
- Spend time learning to use the kubectl reference docs which you can find by searching for kubectl reference in the kubernetes.io search. There are many sample kubectl commands in the reference that you can use as a starting point to answer exam questions.
- Learn how to work efficiently. There are three ways to create most Kubernetes resources using kubectl:
- The declarative approach where you add a resource definition to a YAML file and then use kubectl to generate the resources in the file using
kubectl apply -f file.yaml
. - The imperative approach where you create a resource directly by passing parameters to the kubectl command such as
kubectl run nginx --image=nginx
. - The combined approach where you first use kubectl to generate the YAML for you (e.g.,
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
), modify the YAML to address additional requirements, and then create the resource by applying the updated yaml using kubectl.
- The declarative approach where you add a resource definition to a YAML file and then use kubectl to generate the resources in the file using
When using Kubernetes in real world environments, every effort should be made to codify all infrastructure. Therefore, methods which produce YAML files that can be checked into version control should always be used. However, this isn’t the case with the CKA exam; the goal is to complete tasks quickly. Therefore, you should get comfortable completing as many actions as possible using imperative kubectl commands and only fall back on either the declarative or combined approaches when necessary.
Learning Resources
In addition to the official Kubernetes documentation, The following resources have been helpful to me in my studies.
Online Courses
- Mumshad Mannambeth’s Kubernetes courses which you can find on Udemy and KodeKloud.com.
- Jason Spurin’s Udemy course Dive into Kubernetes in One Hour
- The Kubernetes Training courses offered by Linux Foundation Training
- Bret Fisher’s Udemy course Kubernetes Mastery: Hands-On Lessons from a Docker Captain
- Eitan Suez’s Kube Academy course How to Prepare for the CKA Exam
Books
- Learn Kubernetes in a Month of Lunches by Elton Stoneman
- Certified Kubernetes Administrator (CKA) Study Guide by Benjamin Muschko
Online Resources
- Walid Shaari’s Kubernetes Certified Administration GitHub repository
- DevOpscube’s CKA Exam Study Guide: A Complete Resource For CKA Aspirants
- Patrycjusz Czerniga’s Free study materials for CKA – Certified Kubernetes Administrator exam
- Chad M. Crowell’s CKA Exercises
- devopshubproject’s Certified Kubernetes Administrator (CKA) Pratice Lab
- Kubernetes community on Reddit
Simulations