CKA Exam Results | How I Plan to Pass 2nd CKA Attempt

The time finally came for me to take the CKA exam on October 29, 2020. I felt about 90% confident that I would pass but came up short and scored 51% (66% needed to pass). I feel that this represented 1-3 questions that I got wrong so I feel confident in my abilities and what I learned, I just need to tighten up a few areas.

My CKA Exam Prep

If you’ve seen Mumshad Mannambeth’s Certified Kubernetes Administrator (CKA) with Practice Tests course on Udemy advertised on social media by those that passed the CKA exam, I completely agree that this course will prepare you for the exam. This course will undoubtedly provide you with the material needed to pass the exam. While there is an incredible amount of practice tests and a mock exam, more practice is needed with these tasks. I briefly tried Game of Pods for additional exercises but I found that some tasks far exceeded the scope of CKA and thus felt like a waste of time. However, I think this resource is a great next step to help those with the CKA certification reach the next level and learn more.

How I Plan to Pass 2nd CKA Attempt

So how am I preparing for my second attempt? At a macro level, I need to focus on time management and getting more practice with topics that I was willing to lean on the documentation for help. A few of those specific topics that I need to work on are JSONPath, custom columns, and storage.

Manage Time Better

With the 1.19 update, exam time was reduced from 3 hours to 2 hours and I felt that with the extra hour, I definitely could have passed. But that’s not going to change so what can I do to prepare better?

Be faster and have a near-zero reliance on documentation

Don’t let the “open book” nature of the exam fool you — there’s simply not enough time to consult documentation for major help. So…

Bookmark Precisely What You Need

Bookmarks are helpful for key tasks that have multiple steps or a little obscure. I think storage, deploying a CNI, and JSONPath are great topics to bookmark. I’m also publishing another blog post with the bookmarks that I recommend for the CKA.

Get Lots of Practice

logo

I’ll be creating and publishing my own examples but I definitely plan on using killer.sh’s CKA simulator. At $40, it’s a little more than what I want to pay for it but I’ve read great reviews about it, I want the extra practice, and I don’t want to fail a second time!

Complete the Short, Easy Tasks First

Get the easy things out of the way for quick victories to settle nerves and build confidence.

Don’t Waste Time Troubleshooting a Problem

I know troubleshooting is part of the exam but there’s specific questions to test you on that. What I’m talking about is getting an unexpected error during a simple, routine process like upgrading a kubeadm cluster. Skip it and come back later! You will burn up too much time trying to figure out what went wrong.

Learn JSONPath Query Parameters & Custom Columns

JSONPath provides incredible flexibility and depth to gather information from a Kubernetes cluster. Getting things like pod names, OS, image, etc can be easy but I need to better understand JSON output hierarchy to help me build deeper queries. That means looking at the output of various kubectl get commands with the -o json flag. Here’s a quick example of why that’s necessary:

Get the CPU capacity of the nodes in the cluster and output it to a text file named asdf.txt. Output should look like:

CPU CAPACITY
6

Seeing the formatting, we know that we need to use custom-columns output. You’ll use the kubectl get nodes -o json command and look for a CPU field to help you build the query and pay attention to the hierarchy of the output to help you build the necessary output. Output partially included:


"capacity": {
"cpu": "6",
"ephemeral-storage": "61255492Ki",
"hugepages-1Gi": "0",
"hugepages-2Mi": "0",
"memory": "2038544Ki",
"pods": "110"
},

The full hierarchy is:

items
|– status
| | — capacity
| | — cpu

Unlike JSONPath, with custom-colums we don’t include items[*] nor the preceeding “.”. For example, the JSONPath query would be:

kubectl get nodes -o jsonpath='{.items[*].status.capacity.cpu}' > asdf.txt

but with custom-columns it’s:

kubectl get node -o custom-columns='CPU CAPACITY:status.capacity.cpu' > asdf.txt

This was a simple example but things can get a little trickier so be ready! I’m working on additional practice examples with JSONPath and custom columns that I will publish!

Story Time! CKA Exam Day

While I don’t attribute the following to not passing the exam, the preceding days were interesting and worth telling the story. Beginning on October 24, Hurricane Zeta set it’s sights on a Louisiana landfall.

The upcoming days were a little stressful watching the advisories and preparing our home for impact while continuing to prepare for the CKA exam. For those not experienced with hurricanes, a lot can change with these advisories over 3 days; however, this track stayed consistent. Hurricane Zeta made landfall on the Louisiana coast in the afternoon of October 28, 2020 and by 7 pm, with winds gusting to 90 mph, our home lost electricity.

Needless to say, my exam preparation was cut short! Thankfully our home was spared from damage and I was focused and committed to taking the exam the following morning at 10 am! But how could I? The area was severely impacted by wind causing widespread power outages. I didn’t have home internet and cell phone-based internet was saturated and unusable leaving me unable to consult a map to see which businesses were open and possibly had internet.

Hundreds of thousands without power in Louisiana after Hurricane Zeta. wwltv.com

I’m grateful that I have a family member that lives 2 blocks away that didn’t lose power so I was able to set up in a bedroom to take the exam.

1 thought on “CKA Exam Results | How I Plan to Pass 2nd CKA Attempt

  1. Pingback: CKA Exam Tips for Kubernetes 1.19 | Brandon Willmott

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s