About a month ago I undertook the Certified Kubernetes Administrator (CKA) exam and was fortunate enough to have passed! I scored an 89/100 and while the passing grade is only 66/100, I was pleased to have passed by more than just the bare minimum. Kubernetes is an incredibly polarizing tool in the tech industry, however as I had about 18 months of production-level experience with the platform, I was interested in challenging myself with this exam.

I was extremely nervous before writing the CKA exam, but with the right strategy this exam can be less stressful to take and you too can enjoy the sweet certificate and badge provided by the Linux Foundation when you pass 😄

Topics and areas covered in the exam

The exam is broken down as per the CKA website:

  • Storage (10%)
  • Troubleshooting (30%)
  • Workloads & Scheduling (15%)
  • Cluster Architecture, Installation & Configuration (25%)
  • Services & Networking (20%)

As such, you can expect to see questions related to the following:

  • Pods
  • Deployments
  • DaemonSets
  • Volumes
  • NetworkPolicies
  • RBAC
  • Services
  • etcd backup/restore
  • Troubleshooting nodes and clusters
  • And more!

The exam itself is completely hands-on and is much less about if you can answer conceptual questions about K8s but rather if you can write the correct commands to complete the challenges put in front of you. Being comfortable with a K8s environment and general Linux commands will go a long way as the exam is provided in a Ubuntu environment.

General Advice

  • As mentioned in my tips for passing the AWS Certified Developer Associate exam: These kinds of exams are not the measure of your intelligence. If you are sitting this exam and you happen to fail, please do not be too hard on yourself. Things happen and every failure is a chance for future growth.
  • Before signing up - hunt around online for a Linux Foundation promo code - I managed to save 20% off the exam fee when I did this!
  • Read the Candidate Handbook
  • Read the Important Instructions
  • Know that this exam is extremely generous in that you get a free retake if you fail. That should take a lot of pressure off you as technically you can think of the first exam as a “free-pass” if you need it.

    Remember to update your Chrome/Firefox/Safari version before you start the online proctoring. My computer passed the systems requirement tests but then I had mad problems trying to get screen share to work (so that you know…the proctor could see me take the test!). This took about 15 mins to correct after I updated my Chrome and logged back into the session, and while it didn’t eat into my test-taking time, it was still hella stressful before the questions started!

Exam Strategies

Knowing how to make the best use of your allotted 2 hours is the key to passing this exam. You do not need to be a K8s expert, you just need to know how to provide answers to the questions that are answered promptly, and using these tips should help you get there:

  • A method that helped me was to read through all the questions at the start of the exam, mark their difficulty (according to you) and if they will take a small, medium or a large amount of time. Doing this should help to ease the nerves a little bit as you will get a feel of all the questions for the entire exam and you can choose whether to go for the small quick win questions first or go for the more difficult ones earlier to spend more time there. Personally, I went through all the easier, quick questions first (scale a deployment, return top CPU pod) to build some momentum and then attempted the longer questions that I found easier (fixing a K8s node, etcd backup/restore), and then the harder questions that were of shorter length (configuring a network policy, creating a sidecar pod for logging).
  • Each question shows you how much percentage it is worth, so keep a running total as to which answers you are confident in so that you are spending your time wisely. You do not want to be 1 hour into the exam and only be confident in 20-30% of your answer set, you want to be about 50-60% completed.
  • Set your ~/.vimrc to:
    1
    2
    3
    set expandtab
    set tabstop=2
    set shiftwidth=2
  • Bookmark all the K8s documentation links that you find helpful, and name the bookmark according to your own mental model, not the default name of the website. This will save you a lot of precious time during the exam as you do not have to use the search function to find the resources. This is what my bookmarks looked like on exam day and this is perfectly allowable:
  • Allowable K8s bookmarks
  • Set up the kubectl autocomplete as per the cheatsheet to save time using short hand commands
  • Try to write as little YAML as you can during the exam. Utilize the kubectl imperative commands like k run and k create rather than writing up a YAML file and then running k apply -f myfile.yaml.
  • Add an environment variable to the ~/.bashrc file for the kubectl --dry-run option as follows: export dry="--dry-run=client -o yaml >" . This saves typing time as you can instead write this command kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml as k run nginx --image=nginx $dry pod.yaml
  • If you need help with a particular kubectl command, utilize the --help flag. Half the time kubectl actually returns the exact command you need for the question you are being asked. For instance, k create service --help or k create clusterrole --help will give you great examples for different situations

killer.sh

When you sign up for the CKA exam you are provided with two killer.sh practice exams. The exams are the exact same and each has a 36-hour window for you to access, reset the environment and play around with the questions. My advice for using killer.sh is to undertake the questions without a time limit. The killer.sh exam questions are much, much harder than the exam questions you will see on the CKA exam itself, and honestly, you have to be an incredibly good K8s administrator or developer to answer the 25 killer.sh questions in 2 hours and get them all correct.

Rather than trying to replicate the exam situation entirely, I would advise you to undertake all the exam questions without a time limit and see how you score. If you score 50-60% on the killer.sh questions, honestly you are probably good to go forth and attempt the CKA. The killer.sh questions are quite hard, and as you only need 66% to pass the CKA exam, easier questions in the CKA exam will bump up your score so you should still pass. If you score 100% on the killer.sh questions, you will pass the CKA without a doubt.

A good idea is to go through the killer.sh questions once; read through the answer guides, start bookmarking any areas that you may not be as familiar with (e.g. location of K8s server certificates), and then re-attempt the killer.sh questions again under the 2-hour time limit. If you score a 50% in 2 hours on the killer.sh questions, you should be ready for the CKA exam!

Free resources

Determining what are good quality free resources is tough when it comes to the CKA exam, but there are some resources I found very helpful when preparing:

Courses

If you are a person who learns best with structured, video-delivered courses and content, I would strongly recommend looking for a CKA exam course to use as a study guide. I personally recommend the A Cloud Guru Certified Kubernetes Administrator course by William Boyd. I am a huge fan of A Cloud Guru and the courses they release and this one is no exception. I found it went over all the areas required for the CKA exam and there are practice scenarios and labs that help provide accurate representations of the questions you will receive in the exam.

I have heard very good things about the Udemy / KodeKloud CKA Course as well. I am sure it too provides great learning and good practice questions to help you prepare for the exam!

Recap

  • Prioritize having an exam strategy over becoming an expert in everything for K8s
  • The killer.sh questions are way harder than the actual exam
  • You get to use the K8s documentation and you get a free retake for this exam, so stress less!