KCNA, Why and How to pass the exam!
The CNCF (cloud-native computing foundation) and The Linux Foundation, had introduced a new Kubernetes exam in November 2021. The exam is called Kubernetes and Cloud-native Associate (KCNA).
Looking through the exam format and exam domain, made me curious to sit for the certification, for reason number one, which was the exam format.
The Exam Format
The exam is a multiple-choice test that consists of 60 questions. You have 90 minutes to complete the exam and must get at least 75% or above to succeed in it. I had the chance to do the other three Kubernetes certifications before (CKA, CKAD, and CKS). All of them were very hands-on and dedicated environments for work. I mean as an example, for the CKA exam, I had to install Kubernetes using kubeadm as one of the questions.
P.S. If you’re currently preparing for the CKA exam, my colleague Nils had written an extensive blog in order to do so here.
Despite having the exam format as one of the reasons to sit for this test, it wasn’t however, my main reason.
My main reason was the exam domain and field of knowledge required. Moreover, I always wanted to be part of the shadowing program provided by the Kubernetes Release team and join my dear colleagues who already serve or served within the release team. In my humble opinion, this exam is the perfect preparation for anyone who would like to join the release team. First to engage themselves in Kubernetes/Cloud-native ecosystem and second, if they want to register themselves into the shadowing program, why?!
On that note, for reason number one, you would essentially need to understand what exactly Cloud-native Computing Foundation does and how it works, how they elect their board. Moreover, you would also need to know how frequent they release a Kubernetes release per year, how long before they can deprecate a stable API object in Kubernetes, and lastly and more importantly, how they currently have everything as an interface, CRI (Container Runtime Interface), CNI (Container Network Interface), CSI (Container Storage Interface), SMI ( Service Mesh Interface) and ClusterAPI, as a uniformed way to deploy and provision a Kubernetes Cluster either on-premises or any public cloud provider.
The following article describes in more detail the process of plugin interfaces in the Kubernetes ecosystem: Interoperability of open-source tools: the emergence of interfaces
The Exam domain
As shown above, Almost have of the questions in the exam was about using Kubernetes Fundamentals, not very extensive questions but questions to test one’s knowledge, for instance when to use Stateful Set and Deployment, Commands to use with Kubectl: The official Kubectl cheat-sheet here is handy for the exam and the day-to-day activities.
Furthermore, with Container Orchestration, as discussed earlier, It would be more concentrating on CRI, CNI, and CSI. How the CNCF is using the open-standard to determine which interface is compatible and which one is getting deprecated ( as what happened in Docker and dockershim). The Kubernetes 1.23 Release Team Lead, had discussed that further in this Podcast.
The Cloud-Native Architecture focuses on using Microservices and the benefits of the cloud-native, in the aspect of Cloud-first. What does that mean?! That you would build your application to run at cloud and take advantage of the cloud resources like database, service bus and queues, load balancer, authentication and authorization and more importantly, how to containerize your application and how to use it inside your CI/CD for shipping this application.
The Cloud-Native Observability is about using an open standard for monitoring and observability within your cloud-native architecture. In order to do so, the open-source community created the OpenTelemetry, which is an implementation to unify and standardize a way for collecting and measuring performance data and send them to a backend system for processing. Here is an article from CNCF discussing why and how to use OpenTelemetry.
Of course, goes without saying, when it comes to monitoring and observability is essential to any system in the world, If you can’t measure it, you can’t improve it.
Lastly, Cloud Native Application Delivery: Here you need to know about CI/CD and how it is being used to build and ship your cloud-native application. Understand how frequently you would deliver your features in the system, as it is not about saying integrate or deliver many hundreds of releases per week, it is more about significant releases as part of your CI/CD pipeline.
Further, it was also mentioned the usage of GitOps, which simply put, store your Kubernetes objects in a git repo, that repo would be used as a source of truth for maintaining the state of these objects inside the Kubernetes cluster using an agent deployed there at the cluster as a daemon-set.
- The exam is a foundation level, which means it is more for getting familiar with Kubernetes and Cloud-native.
- The exam costs $250 US with one retake. (Tip: Look for CNCF usual discounts before booking the exam)
- You would get the result 24hr after finishing the exam (which I find is a bit strange that it takes that long as it is multiple-choice test)
- Good luck with taking the exam!