CKAD Exam Tips
I recently received my Certified Kubernetes Application Developer (CKAD) certification, and boy was it fun. I thought I’d put together some of my tips around my exam prep, as I’d only really dabbled in Kubernetes previously.
Learning Kubernetes Itself
Kubernetes in Action
To start with I decided to read through Kubernetes in Action by Marko Lukša. A tome at 624 pages, the book covers the basics needed for the exam, as well as additional sections regarding extending Kubernetes and multi-clusters. You’ll definitely want to run through the book at your computer, so you can punch the examples in and see how they react. It’s particularly important for topics such as the deployment handling. There are numerous Kubernetes release cycles a year, so some of the stuff in the book wasn’t entirely up to date. Saying that, Manning released a small update in February.
The book approach isn’t for everyone, and there are plenty of other introductory tutorials on the web, including a free introductory course from CNCF. Some of my colleagues who were studying at the same time preferred this.
Pick a Distribution to Use
Although Docker for Mac now includes Kubernetes, I think it’s better to use a more realistic distribution. I ended up using kops to deploy a working Kubernetes cluster on AWS. One of the neat features of kops is that it allows you to generate valid Terraform configuration files, which I then used to create and destroy the cluster as required. Kops can get expensive if you leave it running.
I focused on kops because I wanted to learn about how Kubernetes interacted with AWS resources, like EFS and IAM Roles.
Exam Specific Tips
Read the Curriculum Overview
Make sure you read the Curriculum Overview, as it defines the topics that will be covered in the exam, and the percentage of each topic on the exam. Make sure you understand each of the dot points, and how they are created, modified and examined on a Kubernetes cluster. All of them are relevant.
Handle your kubectl
You need to be proficient in using kubectl regarding the topics covered in the Curriculum Overview. In particular you need to know how to create things with a minimal amount of typing. Some resources need to be created via a YAML syntax, but for the majority of resources CLI arguments should be sufficient. In terms of CLI tips:
- the `kubectl run` command is particularly powerful. Use it with the
-
-dry-run -o yaml` arguments to output YAML files. - I recommend setting up a `k` alias for `kubectl` so you don’t need to keep on typing it.
- The exam makes use of 3 clusters and numerous namespaces. Get comfortable in switching between clusters and namespaces with `kubectl config` otherwise you’ll waste a lot of time prefixing the namespace to your commands, and you will introduce the possibility for additional errors.
I spent a lot of time running through the exercises defined here, as I found it a great way to learn the commands. It doesn’t necessarily represent the exam question format, but I found it invaluable. You should be able to answer every question before taking the exam without hesitation.
Practice your Linux Foo
You need to be proficient in your Linux terminal skills. You’ll need to be able to pipe data around, ssh into different terminals, and be comfortable with sudo. Having a workable knowledge of vim or nano is important. You don’t want to be copying large amounts of text back and forward between the terminal and the exam notepad, so you need to be able to edit in place. There isn’t a huge amount of typing required, as you’ll be copying from kubernetes.io for references, or generating YAML from cli commands, but you certainly need to be able to quickly edit a file.
Bookmarks in Chrome
Have a good set of Bookmarks defined in Chrome, and have them available in the often unloved bookmark bar. You should ensure you have links for all the topics covered by the Curriculum Overview.
The Exam Itself
The exam itself is pretty time constrained. Take note of the percentage worth of each question, because the length of the question does not necessarily correlate to its scoring. I’ve spoken to some of my colleagues who suggested working from the last question backwards, but I found it just as effective starting from question 1, and then skipping over questions that I couldn’t quickly solve. You’ll want to get as many runs on the board so you can clear the required pass mark.
In addition, I believe the exam is automatically marked, so you need to be spot on with your spelling. Either copy names directly out of the question, or be very careful when you type them.
Conclusion
I highly recommend sitting the CKAD Exam, if only just for the experience. Hopefully some of these tips will help you in that quest.