Since I started learning Kubernetes the Certified Kubernetes Administrator (CKA) exam has been a target for me, but it’s always seemed to be out of reach. The whole Kubernetes ecosystem is a vast and nebulous beast, with new projects rising to the fore all the time, and old projects fading from favour. The size and rapid development that make the field so interesting and powerful, are the same properties that make the learning curve so steep, and the entry bar so high.
In the past two years I’ve spent time labbing and blogging about PKS and Kubernetes, and I’ve spoken at VMUGs. I’ve attended sessions at VMworld, VMUGs, internal and public webinars, and I’ve spent countless hours working out how to run some of my home services on Kubernetes. Nothing beats getting your hands dirty to force yourself to learn, and to then attempt to communicate that with clarity to different audiences forces you to really understand what you’re talking about.
However, after doing all of this I was not confident to take this exam! I put it off for months and months, and in the end I was emailed by the exam provider to say that I needed to take the exam before my voucher expired in May. Since the CNCF gives a free retake, I decided to take the exam simply to get a gauge on how close or far away from the required level I was, and that would give me another 12 months to do the real thing.
The Certified Kubernetes Administrator (CKA) exam has a reputation for being a difficult exam to pass, but I think that it was a fair exam. It was not as difficult as I had anticipated. It’s a three hour, 24 question, lab based exam that drops you straight into the command line with multiple Kubernetes clusters to perform various administrative tasks on. It is only available as a remote-proctored exam, and requires a score of 74% to pass. The exam is automatically scored and as such results based - i.e. it is looking for specific conditions in the exam environment, be that a pod or object with a specific name, or the contents of a file.
statefulset
with a pod
named Bob, and you create a statefulset
named Bob, you won’t get the points you deserve! So, read the question carefully!kg pods
instead of kubectl get pods
- where you’re typing kubectl
100 times a day, it saves you quite a few keystrokes. However, you will not have this configured in the exam - so make sure you learn the full commands. I found myself using the aliases automatically and then having to re-write the commands in full. So, use with caution if you’re prepping for the exam.I don’t want to replicate other peoples’ lists of study resources - there are plenty out there. In reality, everything that you need to pass the exam is in the official documentation, all of the other training courses I’ve looked at just provided a structured approach to going through the documentation.
kubeadm
kubeadm
Pods
and Deployments
, how to use the different Controllers - I refer back to my point about the core concepts. The best way to learn how to do this is to actually do it.kubectl
filter and sort, to output YAML from existing or new objects using --dry-run
, and to use jsonpath
to select output propertiesvim
openssl
, cfssl
etcdctl
to manage EtcdOnce you’ve completed the exam, you’ll probably feel pretty wrung out - it’s taxing concentrating so hard for that long. I kept a rough tally of the percentage of each question with a guess as to how complete the answer was, and on reflection was cautiously optomisitic that maybe I had passed. The exam is scored over the next 24 hours, and results should be emailed to you within 36 hours - in reality it was slightly less than 36 hours for mine to come through, and I was thrilled to have passed!
The CKA exam is nothing to be feared. It’s a fair exam that can be passed based on the documentation, and you get that documentation available to you. Study, practice, and give it a go!