Just a few days ago I took (and passed!!) the Certified Kubernetes Administrator (CKA) exam. I feel compelled to blog about this because it was a unique and stressful experience for me. I annoyed the hell out of my family for weeks prior to the test, stressing about every aspect of it.
I do not test well. I know a lot of people say they don’t test well, but I am an absolute mess when preparing for a test. I have paralyzing test anxiety. I have walked out of college final exams in a cold sweat, I have done all sorts of unreasonable things to avoid being tested. In all of those cases, the tests were relatively simple multiple choice. CKA is far more difficult (for me) than simple memorization and taking a multiple choice test.
Earlier in my career, I took and passed all of the Microsoft certifications for solution developers (MCSD, MCSA, MCP, etc). This was a pretty easy process: I would pick up the study guide book, read it, memorize what I needed, and take the test and pass it. Sadly, what this taught me was that these certifications were less meaningful than I had hoped. These tests measured candidates’ ability to memorize and regurgitate more than their ability to solve real problems.
When I was in a position to interview and hire potential candidates who had these certifications, I found that many people who could pass these tests lacked the real-world, hands-on, practical experience that I wanted for people on my team.
When I first learned about the CKA exam, I admit to a prejudice that it would be as meaningless as some of the rote memorization certifications that I had taken in the past. Then I started looking into it to evaluate whether it would be valuable for myself and my colleagues to take.
Turns out CKA isn’t multiple choice — you spend the entire exam within a proctored, monitored browser session at a terminal prompt. For the first time ever, I was taking a certification exam that you really could not pass without having the experience for which the certification applies.
You are put into realistic situations and need to troubleshoot, determine root cause, and not just implement quick fixes/hacks but solve the problem the right way.
With only three hours (that’s right, only) available to you, time management is critical. I blew a lot of time editing things in
vi when I should have been using the browser-based notepad tool that is available to candidates. I also lost a lot of time floundering on things that people with more road time on Kubernetes would’ve been able to do instinctively.
When you register for the exam you effectively sign an NDA that prevents you from discussing its contents, so I can’t share specifics. However, one piece of advice that I can give for this exam is that the only way to prepare is to do. Reading the documentation and tutorials is a necessary foundation, but it will be extremely difficult to pass this exam without spending real quality time administering Kubernetes clusters.
So if you’re interested in taking this exam — set up a virtualbox cluster or take advantage of the Google Cloud free trial. Set up a Raspberry Pi cluster. Install and use minikube. Break all of your clusters and then figure out how to repair them. Follow Kelsey Hightower’s Kubernetes the Hard Way guide. Spend time creating, updating, and troubleshooting all of the various object types within a cluster. Go through all of the tasks in the Kubernetes documentation and actually do them. I found that just reading about the tasks wasn’t good enough, but everyone learns differently so you’ll have to decide.
To sum it up — this certification really does carry the weight it implies and the real-world, live cluster examination is a nail-biter and drove my anxiety through the roof, but it did a far better job of measuring competency than a multiple choice exam would have.
The CNCF is doing amazing work in advancing cloud native practices, patterns, training, education, and certification.