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.
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.
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|
|5||Design & Installation||Troubleshooting|
|6||Course Review||Labs / Q&A|
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.
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.
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!!
Rather than tackle this in paragraph form, I'm going to list out my thoughts in bullet form.
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.