Month: May 2021

Practice, practice, practice — How I passed the CKA

The Certified Kubernetes Administrator (CKA) exam consists of 24 practical questions and a three hour time limit. It is designed to go beyond merely learning concepts; it focuses on the speed and efficiency of applying those concepts.

It isn’t enough to understand networking and containers, you need to be able to apply that knowledge… quickly. That really only comes from practice. Lots of practice.

As a DevOps Coach at PNC Bank, I help teams learn and practice new skills in the dojo, an immersive learning environment focused on DevOps tools, techniques and culture. For the CKA exam, I needed to practice. And practice I did, for almost 3 months.

In the spirit of the dojo and sharing knowledge with the community, here are my tips and tricks for learning Kubernetes and taking the CKA.

Learn the concepts:

To learn the fundamentals of Kubernetes administration, I used a variety of resources.

  • Udemy CKA course: The practice labs and mock exams were great, and I completed them multiple times to reinforce concepts.
  • O’Reilly Learning platform: I skimmed many books, but I spent most of time with two references: Kubernetes Cookbook by Sebastien Goasguen and Michael Hausenblas and Kubernetes in Action by Marko Luksa
  • Bootstrap Kubernetes the hard way by Kelsey Hightower: I completed this exercise twice. It helped me understand the fundamentals on how the cluster is constructed.
  • Google it: I read as many Medium articles on passing the CKA as I could google.
  • Cloud Native Computing Foundation (CNCF) resources: I reviewed the cka exam details, including exam tips, candidate handbook, and the curriculum overview. I focused the majority of my time on domains with a weight of 10% or higher.

Practice for speed and efficiency:

Now that I understood the concepts, I needed to find ways to hone my skills and eliminate wasted time.

  • Bookmark references: First, I reviewed the CNCF site for allowed references that can be used during the exam. Second, I generated a list of frequently used pages and made it easily accessible for the exam. I also temporarily cleared out other bookmarks that I had, so I won’t accidentally hit a site that wasn’t permitted during the exam.
  • Practice the cheat sheet: One of my most used bookmarks was the kubectl cheat sheet. It was a great practice guide and a quick reference during the exam. Since I was familiar with the page, I knew what items I could easily reference during the exam.
  • Use streamlined commands: I used declarative statements whenever possible and I only used yaml files if absolutely necessary. Some declarative commands are faster than others, as well. For example, to create a pod, it is faster to use the “ — restart=Never” switch instead of — generator=run-pod/v1”. It may seem small, but again, it is important to focus on speed and efficiency. Three hours goes by faster than you think.
  • Practice vi: You can never know enough vi tips and tricks.

Optimize your test taking:

  • Identify questions to revisit: I used the digital notepad to jot down unanswered questions and the points for completing the question. This helped me do two things: I could get a general idea of my score based on what I did not complete and I could triage questions with the highest value first.
  • Use aliases and autocomplete: The first item on the cheat sheet is how to setup an alias and autocomplete for kubectl. This helped me cut down on typing, and most importantly, typos. The bash autocomplete feature is brilliant, and kubectl autocomplete is no different.

And of course… practice, practice, practice.