How I got Kubernetes Certification Smoothly.
About two years ago, I started using Kubernetes, or more precisely one of the
small and simple distributions, which is k3s. Before that I
had some contact with the real k8s at work, but it was limited to updating some
parameters (mostly image:
in deployments). Last year, in mid-August, I decided
to to gain some more professional experience and organise my knowledge about
this tool. The final result of this process and proof of my knowledge should be
the acquisition of certificates from the Linux Foundation. I'd like to share with
you my experience and thoughts about these few months which I spent setting up
clusters, deploying, testing and finally taking exams.
Motivation
Maybe it's not clear, but I'm mostly interested in low-level computing. Coding in C++, embedded systems and now Rust are my main areas of interest. So why did I need Kubernetes? Well, I'm trying to be at least familiar with modern technologies in more areas. One reason is to know what is going on when somebody talks about the topic. Second, maybe more important, is that I have some self-hosted apps running on my personal machines at home and other in some datacenters and the process of converting from apps running directly on one small VPS, to VMs on dedicated server then docker containers on one or more virtual systems had to come to the point where I wanted to have my containers orchestrated with tool that is more powerful than just docker-compose. The third reason is that I'm trying to become true DevOps.
What did I know before I started?
I started this process knowing how to do a deployment with replication, some volumes attached and that's it. I knew enough to update a deployment on real a k8s cluster when I worked at Flightradar24, and enough to move my personal stuff from a docker-compose setup to k3s.
I had no idea how to set up and manage a k8s cluster, as the most advanced things I had on my own infrastructure were k3s and minikube.
I had to decide which learning path to take, and my choice was to become k8s developer first (at that point I knew I might also decide to take the admin path, but later).
Kubernetes documentation
Official Kubernetes documentation was my first choice as a material for learning. However, I haven't found it the most smooth way of learning about k8s. I'm not sure why, because now when I'm studying it now I think it's quite compressed and at some points not detailed enough. Altough I have learned many things from books and articles and this is still my main source of knowledge for new things, I also learn a lot of new skills by practicing.
In case of Kubernetes practicing was not enough. I wanted to pass exam in relatively short period, so I needed to have a solid knowledge of every topic concenrning this tool. The time to go into detail was to be later.
I found KodeKloud, tried a free period and decided I want to continue with them. This post will not be about this platform. I'll just mention that they have some predefined paths where you can choose your current knowledge level (Know nothing, Know Linux, Know Containers etc.) and the learning path will start with a proper course. Most of the topics are described in videos and only a few of them are in the form of short texts. Each part has a set of exercises, there are also some labs with playground environment.
Killer.sh and Exams
After a few months of doing the course exercises and practicing on my self-hosted clusters, I felt I was ready to take the first exam - Certified Kubernetes Application Developer. I passed with a score of 97%. Two weeks later I took the CKA and passed with a score of 92%. I finished both before the time and felt they were much easier than killer.sh sessions. Why not 100%? I think at least one question was unclear and I had two ideas of possible answers.
Will it help my carrer?
The title question is reasonable. That is why we take certification exams, but I am not sure of the answer. When it comes to IT certification programmes, I'm sceptical. However, in the last few years, certification from cloud providers and organisations like the Linux Foundation have become more popular.
In the case of Kubernetes, I think the knowledge that is tested in the exams is not enough to be fluent in the field. On the other hand, without practicing on real clusters,it might not be possible to complete all exam tasks in time. I have certainly become more interested in this area. I have my self-hosted cluster on cheap dedicated servers and test my ideas on locally deployed virtual machines. I'm trying to broaden my knowledge and gain more experience all the time.