How to Become a Certified Kubernetes Administrator?
Dec 16, 2021
Without a doubt, Kubernetes is the most prominent container orchestration tool. And you’ve probably noticed that many positions available to IT professionals require Kubernetes experience. One way to gain or prove your Kubernetes knowledge is by becoming a Certified Kubernetes Administrator (CKA).
This certification is issued by the Cloud Native Computing Foundation (CNCF) in collaboration with the Linux Foundation. They offer three Kubernetes related certifications:
- CKA (Certified Kubernetes Administrator)
- CKAD (Certified Kubernetes Application Developer)
- CKS (Certified Kubernetes Security Specialist)
The CKA exam is the most general of the three and consists of practical, hands-on questions to be solved in a Linux command-line interface within a tight time limit. It’s designed to test an individual’s ability to design, build, manage, and debug Kubernetes clusters and cloud-native applications. As a result, it covers almost every element of Kubernetes and assumes you have a thorough understanding of the platform. The practical, hands-on nature of the test makes it more valuable than many other certifications in the industry.
As more and more companies turn to Kubernetes, the demand for specialized knowledge of the platform has increased. Kubernetes isn’t the only one of its kind available on the market, but it’s clearly the winner in its category. According to the CNCF report, more than 75% of the companies surveyed use a Kubernetes-based platform. This includes big companies like Google, Spotify, and GitHub.
If you’re thinking about becoming a CKA, rest assured that acquiring Kubernetes skills will definitely increase your marketability. This article will guide you through every step of the process.
Prerequisites and What You’ll Need to Know
Anyone can take the exam, regardless of their existing certifications; but if you've never worked with Kubernetes, it will be a challenge. Refreshing your knowledge of the following topics can help you get up to speed:
- Container runtime: The best-known container runtime is Docker. Kubernetes itself has deprecated Docker as a container runtime and is currently using containerd. Still, knowing Docker should be more than sufficient.
- Linux: As noted above, the exam is hands-on, so some basic Linux knowledge is required. You should be able to navigate and perform basic operations.
- YAML: Kubernetes resources can be created via YAML (or JSON), and it’s important that you master this.
- Vim: Vim is the default editor for kubectl, but you don’t need to be an expert If you want to use Nano instead, it’s possible by setting the following environment variable:
$ export KUBE_EDITOR="nano"
Besides the technical requirements, here are some other details that will be useful to know:
- The exam can be taken from home, but you’ll be proctored. Read the exam tips to prepare your local exam environment.
- You’re only allowed to use the official Kubernetes documentation. You may open one (and only one) tab with the docs.
- Candidates have two hours to solve the tasks.
- The exam costs $375 and is valid for three years, but you may be able to find a coupon online.
- You must obtain a minimum of 66% to pass and acquire the certificate. If you fail, you have one free retake.
Being prepared for the topics you’ll see on the exam will also make you more confident going into the test. In the next section, I’ll break down what topics you can expect to see.
Topics Covered on the Exam
The exam curriculum describes what you need to know for the exam, but here’s a brief rundown:
- Cluster Architecture, Installation, and Configuration (25%)
- A big part of the exam will focus on the Kubernetes setup and configuration. The tutorial, “Kubernetes The Hard Way” is a very helpful tool as you prepare for this section. I’ll talk more about this tutorial later.
- Workloads and Scheduling (15%)
- You’ll be expected to create robust deployments..
- Storage (10%)
- A small section will test your knowledge about volumes and volume claims.
- Troubleshooting (30%)
- The biggest section of the exam will test you on troubleshooting a Kubernetes cluster. This is a task you can only improve at through practice.
Start by reading the exam curriculum. Understanding what they expect from you will provide a guideline during your learning path. You’ll also need to check which Kubernetes and kubectl versions will be used during the exam.
Take your time preparing for this exam. It’s not easy. The CKA course with practice tests by Mumshad Mannambeth of KodeKloud is a great resource as you study. The course covers all of the relevant topics and offers practice tests on their provided platform. This also means you don’t need to run some personal Kubernetes cluster during the course, which will save you time and money.
The Certified Kubernetes Administrator course by Zeal Vora is also highly rated.
Either one of these courses can be purchased on Udemy, which regularly gives substantial discounts on courses. You can also use the Kubernetes Fundamentals course of CNCF, but it’s a lot more expensive.
Regardless of which course you use, try to understand every topic that they cover. Some topics won’t relate to Kubernetes directly, but they’re useful for understanding the fundamentals.
Prepare some aliases in your terminal. An alias will help you to save time while typing, but only if you exercise with them! Don’t configure too many aliases or it will become too difficult or overwhelming.
Below is a basic but useful alias:
$ alias k=kubectl
You can also enable kubectl bash-completion to improve your speed:
$ source <(kubectl completion bash)
Exercise is the key to success for this exam, and you should try to do as many exercises as possible.
Because of its hands-on nature, it’s very important that you become familiar with the practical side of the exam. Take your time during your first attempt to solve the exercises and use the official Kubernetes docs to find the proper solutions. You’re allowed to use them during your exam, so learn to take advantage of this resource and bookmark important parts.
Since you’re only allowed to have one tab open, it’s important to learn to navigate quickly through the Kubernetes docs. It is allowed to create a folder structure in your bookmarks. Bookmark every type of Kubernetes resource you find useful (e.g., how to create a configMap, how to create a NodePort service, etc.). Try to improve your speed by using those bookmarks during solving exercises.
There are a few commands that it’s nice to have on hand. For example, I found this command to generate the YAML file useful:
$ kubectl xxx --dry-run -o yaml > output.yaml
You may still have to make manual updates in the YAML file, but this command will help get you started. You definitely want to avoid writing from an empty YAML file.
Another very handy command is:
$ kubectl explain
This command describes the types and attributes you need to define for a resource.
Kubernetes The Hard Way
“Kubernetes The Hard Way” is a tutorial developed by Kelsey Hightower (Principal Engineer at Google) to walk you through setting up Kubernetes from scratch. You should go through this at least once. It’s a useful resource for understanding the setup and components of Kubernetes. Although it’s not a requirement for the exam, you will learn a lot from it, and it will help you improve your troubleshooting skills.
Prepare a Test Environment
Make sure you have access to some ‘test’ environment. You can use a local environment like minikube to get started, but in a later stage, a cloud environment is recommended. Creating load balancers and ingress controllers will be hard in a local environment.
Google Cloud offers a free tier where you can spend $300 in credits. This is more than enough to run your own Kubernetes cluster in the cloud. But don’t forget to turn off your cluster when you’re not exercising!
Practice Exam Links
There are many useful exercises to prepare for your CKA exam. Here are a few of the best: