How I got my KCNA certification. And why you should take it too.
PS: If you read this article now. Linux Foundation is running the Cyber Monday discounts week. up to 65% on courses and exam bundles are offered until Dec 6th, 2021. Head to the website.
I recently passed the exam for the shiny new Cloud Native Compute Foundation (CNCF) certification called Kubernetes & Cloud Native Associate (KCNA) and wanted to share my thoughts about it. What resources i used to prepare and why you should take it as well. Just to set your expectations rights i’m dumping links below without much context. I wanted this to be a light to write article :)
I’m not going to spend too much time in this post describing what the KCNA is. Some people have done that before me, i would refer you to this excellent article from Brad McCoy. I would focus this on what was missing in Brad’s article in my opinion and what are my thoughts about this new certification.
First of all what do you need to know to take the exam ? Well if you check the official KCNA Curriculum from CNCF. There is a big focus on Kubernetes which is not a surprise. K8s is the fastest growing OSS project under the CNCF umbrella and a lot Cloud Native tooling is built around it. There are a lot of resources out-there to learn what Kubernetes is, but for this certification you need to know the basics (the internal architecture, how it works…). Brad already points to a good intro course from EDX. I would recommend you give one (or many) of these a shot too:
Kodekloud:
Acloudguru
You will also want to familiarise yourself with the kubectl cli as the exam has couple of questions about these (one of which i got wrong. I was riding high on overconfidence). The kubectl Cheat Sheet is an excellent guide.
Next in the curriculum is container Orchestration with a focus on Open standards and the concept of Interfaces in Kubernetes. You will want to get familiar with these topics very well. All the courses above touches on these briefly and this article is a good compliment. You can expand on these topics by Googling each Interface to learn more. I found it useful to refresh my memory on how a Kubernetes container orchestration works by reading the following pages in the docs:
- https://kubernetes.io/docs/concepts/scheduling-eviction/
- https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
- https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/
- https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
Next is Cloud Native Architecture. This is a pretty generic part of the curriculum which covers a lot of things, some technical (like Serverless and Autoscaling) and some more organisational like how CNCF communities are organised. Below is a dump of some links i found useful.
- https://medium.com/walmartglobaltech/cloud-native-architecture-fundamentals-ac13f979916d
- https://github.com/cncf/toc/blob/main/PRINCIPLES.md
- https://github.com/kubernetes/community/blob/master/governance.md
- https://www.cncf.io/blog/2019/12/06/cncf-toc-governance-structure-elections-2020/
- https://github.com/cncf/foundation/blob/master/charter.md#6-technical-oversight-committee-toc
Next is observability. you can Google this one out to understand the concepts of observability and monitoring. You need to understand what are logs and metrics and how scraping works (which is what prometheus does). Also read this link about OpenTelemetry.
Last is understand what is GitOps, SRE and DevOps. I found these links useful:
- https://www.weave.works/technologies/gitops/.
- https://www.youtube.com/watch?v=0UyrVqBoCAU.
- https://www.altexsoft.com/blog/devops-vs-site-reliability-engineering/.
Now the part i really wanted to share my thoughts on. Why you will want to take this certification ? Or rather who should take it ?
Since this is an entry level certification, i think you should take this exam if you fit in these categories of profiles:
- You or your team uses Kubernetes and/or any tool in the CNCF ecosystem.
- You are leading or managing a team that uses these tools.
- You are a security specialist or software architect working on a project that is going to use these tools.
Hope you find this useful. As usual you can DM me on twitter.