It's a Kubernetes world and I'm just living in it

Kubernetes, or k8s (pronounced--consistently of course--kates, kay-eights, or kay-eight-s), has taken the modern application world by storm in recent years, and has even made tremendous inroads to infrastructure as well with tech like F5OS, the underlying operating system for VELOS chassis and rSeries appliances,  being developed on top of k3s, a certified lightweight version of k8s. With all that influx into my world, I thought it prudent to work on some core knowledge in the world of kubernetes, and what better way to do that than to have a forcing agent: the Certified Kubernetes Administrator exam.

It's a marathon, not a sprint

This may seem like a recent endeavor, but I actually registered for the exam in January of 2022 with the plan to test at the end of February. I started with an internal F5 study group and made it a couple weeks in before I realized that a) this was going to be a bigger commitment than I thought and b) the amount of projects at my old house to get it ready for sale was already numerous and growing. I made the call to bow out to get my house ready for the market. I set a study schedule for myself two more times, once in the early summer and once in the early fall, but neither time worked out with work/life balance. In the late fall I resigned myself to letting the exam expire, I just couldn't get myself mentally prepared for the effort.

But that all changed when MichaelOLeary reached out in December about doing an accelerated study group starting in January of this year and testing near the end of February.

I reached out to The Linux Foundation to see if they'd extend my exam date (which was set to expire Jan 10th) and they graciously gave me a three month extension. Game on...it was time to commit. 

The Group Schedule

Michael kept the group relatively small, and we had some F5ers, some customers, and an area user group friend of Michael's. It was nice to have a group of people with various experience and perspective around kubernetes, some of us with no operational experience outside tutorials and a few that work in it daily. The idea for the schedule was to meet twice per week and have everyone in the group lead a review of one of the sections from training, which I'll discuss in the next section. Here's a rough outline of what we covered:

Week Meeting 1 Topic Meeting 2 Topic
1 Core Concepts - Part 1 Core Concepts - Part 2
2 Scheduling App Lifecycle Management
3 Cluster Maintenance Security
4 Storage Networking
5 Design & Installation Troubleshooting
6 Course Review Labs / Q&A

The Study Materials

One of the great benefits of working at F5 is the number of resources we have access to. There are tremendous resources available through LinkedIn Learning and through O'Reilly Online, and I used those as references on some topics. Our primary source for the study group as a whole is the Certified Kubernetes Administrator (CKA) with Practice Tests on Udemy. It has a coupon code to KodeKloud, where you will do your labs.  Both are fantastic, and other than my own enrichment with the other resources mentioned about, are more than enough to prepare you for what the practical exam will throw at you.

Personal Study Plan

In addition to the twice/week group meetings, I committed myself to an hour daily during the week in either an early morning or late night session of watching the Udemy course, taking notes, and doing the labs. I set up my own cluster on my NUC for extra practice as well to build muscle memory with kubectl commands. I kept all my notes in a OneNote notebook. I did miss some days, and I doubled-up on others. But overall, I stuck to the plan. I did have a much-needed vacation cruise with my family right in the middle of our schedule, but that hurt the effort a lot. I missed some key studying that I got behind on in the security and networking sections but as we were studying as a group I had to skip and move on to keep up. I skimmed those sections on the content but did all the labs before my test. It is a practical exam but the theory is important and I was light there leading into the exam.

Test Week

On Monday, I took all the KodeKloud practice tests again and then finished the evening with my first attempt at Killer.sh (two sessions included with your exam registration.) I was pretty confident before the killer.sh attempt, and, well, my confidence was completely shattered afterward. Everyone told me that the killer.sh exam was way harder than the real deal, but wowza, that kicked my tail! But I had a couple more days to prepare, so I took notes on what I didn't do well at killer.sh, reviewed their solutions and dug in on Tuesday and Wednesday in my study sessions.

My test was Thursday morning at 10:30am local, about 45 minutes after I got home from dropping off my little man at preschool. I should have allowed for more time to get settled. The requirements to test are pretty strict, such as no talking, mumbling, mouthing words, no hands on face or anywhere other than near your keyboard, clean room, no stuff, no water unless in clear container, etc. You also test in a downloaded browser object and can't use external monitors. The test environment was not awesome, copying and pasting was very different than my usual workflow, and I resized the window a little about 40 minutes in and that made my font huge, so I had to do a lot window sizing and sliding to see everything for the remainder of the test. While annoying, I just dealt with it and tried not to let it distract me. I finished with about 15 minutes remaining. I thought I'd get an immediate preliminary score, but I didn't hear back from The Linux Foundation until the next morning that I had passed. Huzzah!!

Thoughts on the Journey

Rather than tackle this in paragraph form, I'm going to list out my thoughts in bullet form.

  • Prepare like you test. The environment is closed and not great. Best to prepare that way earlier than the week of the test so there are no surprises. This means working without your external monitors and practice right-click copy/paste instead of command keys.
  • Take a killer.sh session no later than halfway through your study plan. In the course labs, you get instant feedback and the exercises are far less in depth. You don't get any feedback in the exam, so you need to know how to validate your work. Also, I am not usually anxious before tests, but taking the killer.sh exam for the first time days before my real test rattled my confidence to the point I had trouble sleeping the night before my exam. I never have problems sleeping!
  • You might take a few minutes just to cycle through the exam questions to get a lay of the land. My exam was front-loaded with a lot of hard and extensive questions which dialed up the test stress a little. Had I looked through I would have seen that most of the back half of the test were pretty easy.
  • Flag questions throughout your exam. You can go back if you need to and flagging them makes that jump easy visually.
  • Take the partial credit and move on. If you get stuck on a question, do as much as you can, even if it's very little, so you can get whatever points they might award you. Better a few or missed points there than no points later because you spent too much time on one questions and ran out of time.
  • Do the work. If you invest in the course and do all the labs 2-3 times, you shouldn't have a problem earning this certification. I put it off for a full year and finally just committed to putting in the time. 
  • CKA doesn't equate to experience. I have a base knowledge of kubernetes now, and I'm glad for it, but the test is isolated kubernetes whereas the real world is a rich ecosystem that warrants a lot of study and time in the trenches.
  • As the title says, it's a kubernetes world and I'm just living in it. AubreyKingF5 and I are doing some fun live stream videos building out F5 Distributed Cloud services and we're all over kubernetes, only now, I know what I'm looking at. Marrying the learning I've done here with the real world will take some time, but I'm ready for it!

Community Opportunity

Michael took the time to pour into me and others, and I think this is something we can do here on DevCentral as well. Kubernetes is here to stay for a while, and whether you focus on application, security, or infrastructure, there are implications for you. This is gauging interest at this point, not a commitment, but if a study group is something you think you'd be interested in, drop a comment below and let me know.

Updated Mar 24, 2023
Version 2.0