I recently passed the CKAD exam and wanted to write up a few tips and tricks that I think other folk might find useful.
The exam consists of a number of hands on questions or problems that have to be solved on the command line. This is the first practical certification exam I’d taken and it was significantly different to the multiple choice style certifications I’ve done in the past. To prepare you’ll need to spend lots of time on the command line and be very familiar with both kubectl and vi editor (more on this later).
Watch the Time
You’ll have 2 hours to complete the exam, which in my experience was a real challenge. I didn’t find the questions particularly difficult but trying to answer them all in a 2 hour window was tough. In the end I answered only 17 out of 19, which meant I had to forgo 2 questions completely and didn’t get a chance to review any of the questions I’d answered.
If I were to do the exam again, I’d be stricter about the time spent on each question. I’d timebox questions and move on as soon as the allocated time was up. Obviously there’s a bit of a judgement call to be made here. If you’re really close to completing task it probably makes sense to close it out. What you want to avoid, is getting bogged down in a question and investing too much time in it. I did this with one or two questions and its the reason I ran out of time.
Know kubectl and vi editor pretty damn well
You’ll need to be very comfortable with kubectl to pass the exam. This kubectl cheat sheet is a great resource and you should make yourself familiar with most of it. Being able to create core Kubernetes objects using the
kubectl create command is particularly important. You won’t have time (well I didn’t anyway) to create manifests by hand. For example, if you’re asked to create a Deployment with an
nginx:alpine image and 2 replicas, use the
kubectl create command rather than typing the Deployment definition by hand. To create the Deployment I just mentioned you could run the following, piping it out to a file where you can extend or modify it later.
k create deployment my-deployment --image=nginx:alpine --replicas=2 --dry-run=client -o yaml >> my-deployment.yaml
Practice with an exam simulator
In order to prepare for exam style questions I’d recommend using killer.sh as part of your prep. killer.sh provides a web based command line exam environment that’s very close to the real exam, both in terms of questions asked and time constraints. killer.sh say that their simulator is designed to be more difficult than the real exam. When you get to the point where you’re comfortable passing the killer.sh exams, you should be pretty confident you’ll pass the real thing.
When you book your exam with the CNCF, you’ll get 2 killer.sh simulator sessions included in the registration fee. My advice is to use both these sessions to measure where you’re at, before taking the actual exam.
Bookmark Key Documentation
As you probably already know, the CKAD exam allows you access to the core Kubernetes documentation. The idea here is that it focuses on testing practical skills with real life scenarios, rather than making the exam a memory test.
Having access to the docs is all well and good but you won’t have time to reference them that often. I found the exam very tight for time and only referenced the docs 3 or 4 times in 2 hours. To be as efficient as possible you should bookmark anything you think you might need to access.
If at first you don’t succeed…
And finally, if you fail the exam on your first attempt, fear not, the CNCF give you a free retake as part of the registration fee. Obviously you’d rather pass first time, but it does provide a safety net if you need it.
If you have any questions on the pointers above or the exam in general, feel free to leave a comment below.