CKA Exam Experience
On Wednesday 29th January I took my Certified Kubernetes Administrator exam, and after much baited breath (31 hours worth), I passed. This briefly covers my experience and the resources I used to get there.
In the weeks leading up to the exam I was becoming fairly proficient with Kubernetes but felt I needed a target to get to the required standard. So I booked my exam, on the basis that
- It can be rescheduled, and
- There’s a free re-take available.
By the time the exam came around I figured I was in a place where I could give it a fair crack, with the security blanket of the free re-take. So I took it, for the craic.
For those of you that don’t know the exam is remotely proctored, i.e. you sit it from the comfort of your own home, while you and your screen are streamed to the exam proctor. I didn’t really know what to expect of this, I’d cleared my desk and some shelves that are next to it and hoped it would be enough.
Once I was connected to the proctor we ran through some information, proof of ID and panned the camera around so he could make sure all was well, which it was. He made sure I was happy with everything before he released the exam. This was the last I heard from him until a time warning near to the end. Truth be told, it was very easy to forget you were being watched. Although I was conscious of not talking to myself or covering my mouth as this is not allowed.
The exam environment itself is all browser based, the questions down the left and the rest of the screen taken up by a terminal window. You can also have another tab open to kubernetes.io which is very handy.
A few people have mentioned that the exam is tough. While it’s certainly not easy, I think it’s fair. If you know the material well enough you’ll be fine. My concern initially was time. I’d taken the exam simulator at killer.sh which I’d leaned the documentation really heavily and consequently did not finish in time. The extra study I’d done the couple of weeks between obviously paid off as I didn’t need the documentation as much, mostly just for example YAML files. I also tend to work quite quickly which helped, in the end I had no worries about the time limit. I actually had time to review my answers at the end! I came out of the exam feeling it had gone pretty well, and actually wondered if I’d done something wrong. I almost felt I’d gotten lucky with a string of questions that I knew the answers to and didn’t really get tested on my weaker areas, but perhaps I don’t give myself enough credit.
Unfortunately the results don’t come through immediately, it takes up to 36 hours to get your results. This made for a very nervous wait! Then the email came through reporting that I’d passed fairly comfortably. To say I was chuffed would be understating it!
Key resources for me taking this exam were:
- Kubernetes in Action
- Brilliant book, written from a development perspective really but incredibly helpful. I referred back to this book repeatedly.
- David Holder’s (@VT_UK) lab guide
- I’d make sure you can work through this lab and be able to perform all these tasks
- There are many ways to run the lab to be able to learn. Personally I ran some VMs on vSphere. I trashed them and rebuilt them on a regular basis
- Kubernetes - The Hard Way
- This is a great resource from @kelseyhightower to build a Kubernetes cluster from scratch. A few people have mentioned that you should run through this until you know it off by heart, but a couple of times is plenty. Just to get your head around the way the cluster components communicate etc.
- The key part of this exam is that it is practical. So many practices are required!
- Be able to generate YAML files from the command line is a huge time saver
kubectl run podname --image=image --restart=Never --dry-run -o yaml > pod.yaml
- The exam uses 6 clusters, so chances are you can use one of those a reference point
- I used kubectl tab completion, a few alias’ and settings in vim to save time. This is personal preference though
alias k=kubectl alias kgp='kubectl get pod' alias kaf='kubectl apply -f' echo "set tabstop=2" >> .vimrc echo "set expandtab" >> .vimrc
All in all, a pretty good experience. My doubts about remote proctoring have (nearly) all been eased. I’d like the option of going to a test centre, but the test centres near me aren’t the best.