Passed the CKAPublish date: Aug 15, 2021
I’ve passed the CKA certification! It’s been a while since I’ve obtained a certification. Reading about the CNCF’s Kubernetes certifications, I was quite excited that it’s a hands-on exam that required interactive with live clusters to demonstrate one’s knowledge. As part of Kubecon last year I purchased the exam at a discount. With the upcoming birth of my child, I wanted to make sure to have the certification done before my life is consumed by diapers and bottles. I wanted to share my experiences with whoever may endeavor to take the exam in the future (as much as I’m allowed).
Kubernetes the CKA Way?
The CKA is a great method for testing your Kubernetes knowledge and debugging skills. Given that, it’s not a complete overview of how one should run Kubernetes in production. The CKA can serve as a base, but for a true production deployment, I would look at the following:
- A managed Kubernetes platform. All the major cloud providers have their own managed platform. If you are looking for multi-cloud or on-prem I’d look at Rancher or Redhat’s Openshift/OKD. I’m also quite excited by the Cluster-API project, which provides a Kubernetes-native way to manage Kubernetes clusters
- Logging and Metrics. This may be a feature of your Kubernetes platform. Most metric monitoring stacks are centered around Prometheus/Grafana. Logs are generally either an ELK stack (Elasticsearch/Logstash/Kibana) or Grafana’s Loki. You may wish to look at third-party solutions such as ObservIQ
- GitOps. You generally don’t want to directly modify the configuration of your cluster. I’d heavily suggest looking into either FluxCD or ArgoCD for the management of your cluster post-install and applications deployed to the cluster.
Tips I Found Helpful
- Be familiar with Kubernetes: The hands-on exam is far easier if you are regularly using Kubernetes. If teams are using Kubernetes at your job, get involved. Deploy Kubernetes in a home lab, and run actual workloads - a small website, or even Home Assistant1. Use a cloud provider to spin up a Kubernetes cluster. Civo is a great resource for such deployments.
- Take a course: Even with years of experience, the exam may cover topics and methods that you may not have used in the past to work with the cluster. Mumshad Mannambeth CKA With Practice Tests Course on Udemy is an excellent resource. Live labs and practice exams are included.
- Run through “Kubernetes the Hard Way: Kelsey Hightower’s Kubernetes the Hard Way is an amazing resource for truly understanding the components that comprise Kubernetes. While not directly tested, a lot of what is learned from going through the lab is extremely helpful for understanding and debugging Kubernetes clusters.
- Leverage the free practice exams: The Linux Foundation now provides two free practice exams through killer.sh. I highly encourage you to go through these practice exams and use them to fill in any gaps. The tests have a two-hour timer, just like the exam. Unlike the exam, the lab environment itself is available for 36 hours, allow you to have time to really revisit the content. You can purchase more sessions if necessary, but I found the two provided to be perfect. The Killer.sh CKA Description and the FAQ give a really good overview of what to expect.
- Use bookmarks: The exam allows full access to the Kubernetes documentation and source code, and also allows you to leverage pre-defined bookmarks. While doing the practice tests, I found it great to bookmark resources that I could not easily create via the command line.
- Use CLI speed tricks: The kubectl cheatsheet provides a quick guide for autocompletion and kubectl aliases. Use the practice environments to adjust your CLI environment for maximum efficiency.
- Know your text editor: Make sure you have are very comfortable with a Linux text editor, and can use it to quickly edit yaml files. I’ve used vi for many years. Its command syntax, while difficult to learn at first, can be very efficient at making updates. Whatever editor you use, practice using it.
- Time Management is Key: mark questions, and come back to them if they are taking up too much time! You also are given the scoring weights during the exam, so leverage that when deciding how much effort to put into various questions.
Overall I’d highly encourage anyone interested in Kubernetes to study and take the CKA exam.
Home Assistant might be a challenge, as by default it would not be able to use mDNS to discover smart home devices. A quick and relatively easy workaround would be to set the Pod’s hostNetwork field to true. ↩︎