Community post originally published on Medium by Giorgi Keratishvili
Introduction
Most probably if you have been working in IT over last decate you would heared such words as containers, docker, cloud native, maybe even kubernetes, but wonder what does all those buzz words mean and where you could start your learning jorny then my dear friend buckle up as we are about to dive in the word of container and kubernetes with the help of entry level certification from CNCF as it is very good entry point and aims to be beginer friendly as it was first multiple choose fromat exam which was introduced from linux fundation, I had opportunity to be first beta tester when this exam was first showcased and in this blog I will share materials and over all the style of exam in order to pass it and gain foundational knowledge
Who should take this exam?
The goal of this certification is to provide individuals with basic knowledge of implementing container best practices in a vendor-neutral way and giving them foundation to explore other cloud native ecosystems as this exam is belived to be first step to this whole world it is not intended to be super hard.
Compared to other certifications I would say it’s the easiest, but it still falls under the pre-professional level of difficulty and is a great way to test your knowledge before tackling the CKAD or CKA. For me, the order of difficulty felt like this: KCNA/CGOA/CKAD/PCA/KCSA/CKA/CKS. One thing to keep in mind is that I had already passed the couple kubernetes exams and when I was preparing for the exam, there were no tutorials or blogs to refer at that time , only some suspiciously scam-like dumps, so don’t fall for them. Below I will mention all the new courses and materials that should help in preparation.
Regarding persons who would benefit SysAdmins/Dev/Ops/SRE/Managers/Platform engineers or any one who is doing anything on production should consider it as knowing basic security is always good thing or somebody whom wants to becombe kubestronaut 😉 more about it in next blog…
The KCNA is a pre-professional certification designed for candidates interested in advancing to the professional level through a demonstrated understanding of kubernetes foundational knowledge and skills. This certification is ideal for students learning about or candidates interested in working with cloud native technologies.
A certified KCNA will confirm conceptual knowledge of the entire cloud native ecosystem, particularly focusing on Kubernetes. The KCNA exam is intended to prepare candidates to work with cloud native technologies and pursue further CNCF credentials, including KCSA, CKA, CKAD, and CKS.
KCNA will demonstrate a candidate’s basic knowledge of Kubernetes and cloud-native technologies, including how to deploy an application using basic kubectl commands, the architecture of Kubernetes (containers, pods, nodes, clusters), understanding the cloud-native landscape and projects (storage, networking, GitOps, service mesh), and understanding the principles of cloud-native security.
Exam Format and PSI Proctored Exam Tips
So we are ready to deploy vanilla clusters, make higly avalable enviroments and rock the world of fast software delivery? Then, we have a long path ahead until we reach this point. First, we need to understand what kind of exam it is compared to CKAD, CKA, CKS, or others. This is exam where the CNCF has adopted first time multiple-choice questions and compared to other multiple-choice exams, this one, I would say is on an easy level. and it qualified as pre-professional, on par with the KCSA/PCA/CGOA.
This exam is conducted online, proctored similarly to other Kubernetes certifications and is facilitated by PSI. As someone who has taken more than 15 exams with PSI, I can say that every time it’s a new journey. I HIGHLY ADVISE joining the exam 30 minutes before taking the test because there are pre-checks of ID and the room in which you are taking it needs to be checked for exam criteria. Please check these two links for the exam rules and PSI portal guide
You’ll have 90 minutes to answer 60 questions, which is generally considered sufficient time, the passing score is >75%. Be prepared for some questions that can be quite tricky. I marked a couple of them for review and would advise doing the same because sometimes you could find a hint or partial answers in the next question. By this way, you could refer back to those questions. Regarding pricing, the exam costs $250, but you can often find it at a discount, such as during Black Friday promotions or near dates for CNCF events like KubeCon, Open Source Summit, etc.
The Path of Learning
At this point, we understand what we have signed up for and are ready to dedicate time to training, but where should we start? Before taking this exam, I had a good experience with Kubernetes and its ecosystem and experience with the CKA exam, but yet I still learned a lot from this exam preparation.
At first glance, this list might seem too simple and easy but we need to learn the fundamentals of Kubernetes first in order to understand higher-level concepts such as Architecture, Core Components, 4C’s, and many more
Let break down Domains & Competencies
**Kubernetes Fundamentals 46%**
Kubernetes Resources
Kubernetes Architecture
Kubernetes API
Containers
Scheduling
**Container Orchestration 22%**
Container Orchestration Fundamentals
Runtime
Security
Networking
Service Mesh
Storage
**Cloud Native Architecture 16%**
Autoscaling
Serverless
Community and Governance
Roles and Personas
Open Standards
**Cloud Native Observability 8%**
Telemetry & Observability
Prometheus
Cost Management
**Cloud Native Application Delivery 8%**
Application Delivery Fundamentals
GitOps
CI/CD
Cloud Native and Kubernetes
There are 5 key pillars (The key domains here). Let’s get into some details about it to help direct your studies:
The Key Pillars
- Kubernetes Fundamentals — The exam expects that you’ve dabbled into Kubernetes and have a good understanding of all the moving parts. This means, it’s extremely important to review the Kubernetes architecture and components that work together to enable such a powerful container orchestration system. CoreDNS, Kube-API, Kube-Scheduler, and Kube-controller are critical to the control plane, while Kube-proxy, Kubelet, and a CRI are critical to the worker-node. There is also the expectation that you have played on a non-production K8S cluster.
At this point, you might be wondering how you can accomplish this. Most home-consumer PCs can run Kubernetes locally using Minikube or KinD. I strongly recommend playing with either and familiarizing yourself with the kubectl command line.
Within a Kubernetes cluster, there are a number of resources like Pods, Deployments, DaemonSets, StatefulSets and Services to allow an application to run and be accessible. For example, ZooKeeper is a Headless Service that uses StatefulSets to operate.
You may want to dig into what constructs a Pod YAML, and also dig into why a Pod is immutable. Consider looking into the various Deployment strategies that exist, like RollingUpdates.
Services act as a way to enable inbound or east-west communications within a cluster. There are a few main types, NodePort, ClusterIP, LoadBalancer, and ExternalName. It’s definitely worth digging into what each of these do and a few use-cases associated.
This is where the hands-on component really comes in handy because you can expect the exam to test you on your knowledge of working with these things. Note, this is a not a production-focused exam.
With such a huge weight on the exam, consider going through a quick-start K8S course (I’ll link some below).
Remember, Kubernetes can be extended with Custom Resource Definitions
While security isn’t the main focus of this exam, know the 4Cs: Code, Container, Cluster, Cloud. - Container Orchestration — This section is a bit more generic compared to the previous section because K8S is not the only container orchestration platform out there. That being said, this section focusses more on the pieces that work together to make container orchestration possible. Application platforms will have a container runtime, networking, security, storage, and extended proxies and observability to enhance the experience of managing, maintaining, and scaling applications. Think about things like a Container Networking Interface (CNI), Container Storage Interface (CSI), or Container Runtime Interface (CRI). Look into Istio and LinkerD, Service Mesh technologies, which provide a side-car proxy to the application container, and services connection requests on it’s behalf.
Spend time looking into CRIs like Containerd and CRI-O.
Authentication and Authorization are other areas that is worth reviewing as OpenID-Connect and Open Policy Agent (OPA) are being used more frequently. - Cloud Native Architecture — This part of the exam focusses on addressing how technologies like Autoscaling and Serverless aim to provide a mechanism to control costs, and provide a much more flexible approach to managing and deploying applications. Furthermore, it’s worth digging into how the the CNCF is built, from the community to work-groups to SIGs. It’s worth a mention that a variety of job roles will use cloud-native technologies and have decisions to make. For example, Site Reliability Engineers are often tasked with establishing SLIs/SLOs/SLAs.
Finally, there are a number of open standards that exist in the CNCF. The Open-Container Initiative (OCI)is one of them. - Cloud Native Observability — While this section isn’t massive, there are a number of observability and logging tools that are used to help pin-point issues in applications in a K8S cluster. Most environments leveraging K8S might make use of tools like Prometheus and Grafana for metrics, data visualization and heat-map graphs. Other tools like Jaegar and Zipkin might be used for Tracing and reviewing Spans within that trace.
Furthermore, managing costs in Kubernetes and Cloud Native become an important business problem to solve. This can be around efficient utilization of compute resources (Scale up and scale back down to zero), and using CronJobs to establish a schedule for when workloads need to run. - Cloud Native Application Delivery — This small section focusses on principles of application delivery. More specifically, it focusses on topics like GitOps, blue-greens, canary deployments, and some of the tools you may use in a cloud native environment. Spend time reviewing tools like ArgoCD and FluxCD to understand how they help with Continous Integration and Continuous Delivery (CICD) in Kubernetes
Key Learning Materials:
You can explore and learn about KCNA Certification and related topics freely through the following GitHub repositories which I have used and of course kubernetes documentation is our best friend also there is great courses from linux foundation
- https://training.linuxfoundation.org/training/introduction-to-kubernetes/
- https://github.com/walidshaari/Kubernetes-and-Cloud-Native-Associate
- https://github.com/moabukar/Kubernetes-and-Cloud-Native-Associate-KCNA/tree/main
- https://kube.academy/
- https://kubernetes.io/docs/home/
- https://www.edx.org/learn/linux/the-linux-foundation-introduction-to-linux
- https://www.edx.org/learn/cloud-computing/the-linux-foundation-introduction-to-cloud-infrastructure-technologies
For structured and comprehensive KCNA exam preparation, consider investing in these paid course Kodekloud, Exam PRO, Oreilly and play a lot with kubernetes playground killercoda from Kim Wüstkamp I have been using for his content a lot for exam preparation CKS/CKAD/CKA/LFCS, indeed it is very useful and I recomend it also I would higly advise not to click on every course which will pop up from google search as it is new exam there are plenty scams.
- Kubernetes and Cloud-Native Associate (KCNA) From KodeKloud
- Kubernetes and Cloud Native Associate (KCNA) From Exam pro or youtube platform which is free on both
Conclusion
The exam is not easy among other certs and I would rank it in this order KCNA/CGOA/CKAD/PCA/KCSA/CKA/CKS. After conducting the exam, within 24 hours you will receive grading and after passing the exam it feel pretty satisfied overall. I hope it was informative and useful 🚀