Hello fellow geeks! It’s been a busy past few months between work, exams, and a case of COVID. Thankfully I’m healthy once again and figured I would finally get around to writing up a post about my journey to the Certified Kubernetes Administrator.
Like many of you, I started my career racking and stacking physical servers and appliances before virtualization took off. Virtualization quickly became commonplace and cloud soon followed it. Living and working through these evolutions taught me the secret of surviving and thriving in this industry. Folks, that secret is you have to love learning because the learning will never stop. Another major evolution and another learning opportunity is presenting itself in the world of infrastructure. The virtualization layer is moving up and containerization is becoming the new norm.
Back in July of this year I made a commitment to focus a large portion of my learning time this year on containerization. I understood the very high level concept of containers, but not much more so this was really a ground zero learning plan. I know there are others in the same situation, so I wanted to share the approach I took and the training path I found that worked.
Whenever I learn a new technology, I always start with the history of the technology. What business problem is it solving that wasn’t already being solved? How and why did it come to be? The Essential Container Concepts course by Ell Marquez filled that gap. Ell does an amazing job walking through the history of containerization and how it came to be. Core concepts are covered in depth and explained in a way that is easy to understand for someone with a background in infrastructure.
Once I felt like I understood the basic concepts and how containerization came to be, I decided to learn about a container runtime. While there are a number of container runtimes out there, I picked Docker due to how prevalent it is within the industry. Here I decided to go all in and do the Docker – Deep Dive course by Travis Thomsen. This course is 13 hours of learning goodness with lots of labs. Travis does an amazing job starting with the basics and building to the more complex topics.
After I had a decent understanding of the container runtime, it was now time to dig into the management and orchestration component with the beast that is Kubernetes. Here I started with the Kubernetes Essentials by William Boyd. This is a relatively quick 4 hour course that lives up to its names and touches on essential concepts within Kubernetes. I followed that up with another course by William Boyd, Kubernetes the Hard Way. This is a guided run through Kelsey Hightower’s Kubernetes The Hardway module. This is a great way to see the guts behind Kubernetes and also a wonderful means for those of you with an infrastructure background to grasp what is happening behind the scenes.
Next up was the CKA prep course by Chad Cromwell. This was “ok”. The content was decent but the instructor’s way of speaking wasn’t my cup of tea. If anything, it’s worthwhile course for the labs and the additional hands on practice.
I rounded out the structured courses with CKA prep course by Mumshad Mannambeth. This course was absolutely amazing. The content was excellent, everything was explained in detail, and Mumshad manages to keep it engaging and entertaining. The KodeCloud labs that come with the course are insanely helpful for preparing for the hands on nature of the exam.
Outside of structured courses I did a ton of reading of the official Kubernetes documentation. Typically technical documentation is a struggle to get through due to insufficient information or poor writing, but the documentation for Kubernetes is stellar. It’s organized well and very detailed.
I don’t think I would have been able to pass the CKA without all of the resources above. The CKA is a completely hands on exam, so you have to know both the concepts and how to hammer away on the keyboard to execute those concepts to solve problems. Given this, you need to practice a lot. I heavily used the hands on exercises in Mumshad’s course (and Chad’s to a much smaller degree). Additionally, I did the tasks in the official Kubernetes documentation over and over again until I was comfortable.
Even with all the preparation, it still took multiple passes on the exam to clear it. This was my first ever exam failure in my 15 years of taking technical exams. It was by far the most challenging exam I have ever taken and I’m thankful for my wonderful peers who kept me motivated to charge through even after failing. Go into this exam knowing if you come from a similar background as me, you will likely fail your first attempt and that’s ok. You get a free retake and and an opportunity to better yourself.
I highly recommend you infrastructure folks start this journey sooner rather than later. Whether or not Kubernetes retains its control over the space remains up the air, but the concept of pushing up that virtualization layer is here to stay. You will get value from this learning path and you’ll keep yourself relevant in the industry.
As I do for all my exams I’ve published my study guide on GitHub.
Well folks, hopefully this summary helps you in your own learning journey. Have a great holiday and a happy New Year!