6 Tips for Passing Certified Kubernetes Administrator Exam
We also have a video on this topic, where I do a live demo of the commands mentioned below. It is based in Kubernetes 1.17 and kubectl run command behaves differentlu in 1.18. This article is based on 1.18, but mostly video is still relevant. Check it out on our YouTube Channel!
Certified Kubernetes Administrator exam is the most popular Kubernetes certification, provided directly by Linux Foundation.
Unlike most of the other certifications, CKA is a practice exam. Instead of picking the right answer in a multi-choice test you will have to apply your skills to solve 24 tasks that are approximate of real-life work with Kubernetes. In these regards, CKA is similar to the exams provided by Red Hat, which are also always practice exams. I really like certifications focused on practice, because they remove the element of luck. You either can do the task or you can not, there is no guessing involved.
I am not going to discuss why you should or should not get this certification. My assumption is that if you are reading this, then you already made up your mind.
A word of warning: I am not allowed to share with you any exact details about the contents of the exam. Don't expect me to do this here.
So without further ado, here are my 6 tips for passing the Certified Kubernetes Administrator exam.
Tip 1: Practice.
You might be wondering if you need to have any real experience of working with Kubernetes in order to pass the exam.
Definitely, having this experience won't hurt. I took the exam when I already had over 4 years of experience working with Kubernetes on real projects. Because of this, exam was pretty easy for me. Because CKA is a practice exam, you won't be able to simply memorize the theory and get away with not having any practical experience.
Having said that, I do believe that you can just practice on your own, even if your current company does not use Kubernetes. It's fairly easy to set up your local Kubernetes cluster and there are plenty of exercises out there, both paid and for free. You could also hire one of mkdev mentors to help you out with this.
Tip 2: Understand concepts, but do not memorize too much.
During the exam, you are going to have an access to the official documentation website of Kubernetes. This website has information about everything you need, there are lots of code samples and enough theoretical information about every aspect of Kubernetes.
What this means for you is that memorizing every little detail about every API resource makes little sense. What does make sense is to get a real understanding of various concepts. You should know which features Kubernetes provides, but you don't need to remember every small detail, you just need to know how to look it up in the docs.
For example, if we are talking about CronJobs, you should know, that it's a special resource type that will tell Kubernetes to create new Job based on a schedule you provide. You should also know that Job is basically a pod that Kubernetes will try to run to competition.
But what you don't have to know by heart is this:
apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailur
Memorizing the complete YAML structure will be a waste of your brain resources. Don't do that. Understand the concepts and learn how to look up information in documentation.
By the way, this also applies to real work. Deep understanding of how things work and how to look up the information is always better that lots of blindly memorized information.
Tip 3: Learn how to use kubectl
kubectl is going to be your main tool on the exam and it makes a lot of sense to learn how to use it.
You probably know how to create objects from YAML files by running
kubectl create -f and
kubectl apply -f. But these commands require a YAML file and creating YAML files from scratch is something you should, whenever possible, avoid during the exam. 3 hours sound like a lot, but it does not mean there will be time to waste.
Some commands that I find especially useful:
kubectl create deploy will create a new Deployment. You simply need to provide the image name, the deployment name and couple of other things. What you will get is a completely configured Deployment, that you can further modify to attach volumes to containers, add initContainers etc.
kubectl expose will create a new Service connected to existing Deployment. You just need to specify ports and the name of the future Service. You can also provide the service type if needed.
kubectl create is especially useful to create new Secrets. You can create an env file and then create a secret from this file without the need to mess with yaml.
kubectl explain is a built in way to see specification of any Kubernetes resource. You can run
kubectl explain persistentvolumes.spec.hostPath to see how to use
hostPath volume type.
Additionally, get accustomed to other kubectl commands to list and modify resources and keep close attention at different ways of filtering and formatting the retrieved data. I am repeating myself, but do invest time in practising different commands. It will pay off.
Tip 4: Re-use YAML files.
You won't be able to completely avoid writing YAML files. To avoid typing too much, you could keep few template files that you can copy for different tasks. Keep few files with basic pod definitions and then just copy them, modify a few parameters and apply it.
Nothing stops you from copy and pasting YAML files from the documentation website. But, given the time constraint, I would recommend optimizing this process a bit more.
Tip 5: Get some basic Linux knowledge
It's impossible to be a Kubernetes Administrator without knowing Linux.
You should know what
journald are and how to use them to debug system services. And, of course, it won't hurt if you know how to use basic tools like find, grep, curl and others.
Tip 6: Learn vim
This tip is a bit controversial. Same as tips 3 and 4, the point of this tip is to save time.
Believe me, you don't want to spend time on copy and pasting text between notepad and terminal window. And you also don't want to accidentally remove something or to make stupid typos all the time.
If you know how to use Vim, you will never have to leave the Terminal window. Creating and changing any files will take the optimal amount of time, leaving some space for you to think about the task and checking documentation.
Good luck with the exam!
You might have noticed that the main focus of my tips was on saving time and focusing on the important things. I was able to finish my exam in 2 hours instead of 3, mostly because I was certainly over-prepared.
But partially, it's also thanks to the simple optimization techniques I just shared with you. I hope you will find them useful.
Good luck with the exam. I would love to hear about your CKA experience in the comments section.