CKA & CKAD — One-Shot!
Both “Certified Kubernetes Administrator” (CKA) and “Application Developer” (CKAD) certifications are hands-on, covering almost one topic, and are nearly the same as they overlap in scope. It will be just perfect for getting prepared and ready for both exams and thus spending less preparation time and efforts. However, this mainly depends on your inspirations and goals for sure and your ability to keep up with such challenges. :)
1. CKA & CKAD in a nutshell:
Linux Foundation ‘CKA’ and ‘CKAD’ are performance-based exams, thus doesn’t have multiple-choice questions. The exams’ duration is respectively 120 minutes each with a passing score of 74% for CKA and 66% for CKAD. Both of the exams are based on the latest release of Kubernetes v1.21.x, which includes changes to Kubectl and the API. That said, please ensure playing with the right version of K8s and Kubectl before heading to the exam.
Kubernetes CKA and CKAD will be upgraded to v1.22 soon. The exam objectives and weights are also going to be updated. The major differences are shared with you in the curriculum.
Exam Location
The exam can be taken from any location, not forcibly a Testing Centre. A quiet room, clean table, bottle of water without any stickers will be more than enough.
Don’t forgot your laptop 🙏 ;)
An examiner will be supervising you based on Remote Screen viewing, Video, and Audio. This means that whispering is not even allowed during the exam. Breaks are allowed, but the clock will not freeze and continue counting down.
The clock is not your enemy, if you’re well prepared!
Exam Prerequisites
Officially there are no prerequisites for this exam but I advise having at least basic Linux and containers knowledge. Without these two thin lines of knowledge, it will be harder to understand the techniques and the preparation time will be much longer.
The results will be provided in a maximum of 36 hours starting from the exam completion time. Mines were received more than 30 hours after the exam completion time.
To get to know better the Exam Environment please check the following sample shared by Linux Foundation.
Exam Environment/Simulator
Both of the exam vouchers provide a Free Retake. Thus, worst case the first attempt could be used as a good exercise to get familiar with the exam with “No-Stress”.
Please check this Youtube link to have a quick overview on how the exam environent looks like.
Since July 2021, buying an Exam voucher grants access to two sessions of 36 hours each to the “killer.sh” exam simulator where you can fully practice before attempting the exam.
Recommended Courses
I forcibly advise following high-quality materials for a complete deep dive into Kubernetes. One of the recommended ones is the CKA & CKAD of Mumshad Mannambeth courses. Also,
- Use the magic of Katakoda to get started,
- Play with Kubernetes using Kubernetes-Labs,
- Use KodeKloud Labs to practice, practice && practice,
- Avoid losing time on Linux Academy courses as they are not providing the expected quality and will not help you much on the CKA/CKAD.
Kubernetes the easy way: https://www.montel.fi/blog/create-kubernetes-cluster
2. Learn Kubernetes the Hard Way (A must for CKA)
Kelsey Hightower’s Kubernetes The Hard Way materials remain the top-notch of all. Which walks you through an extensive document and is a must for CKA, but not needed for CKAD.
Try deploying a cluster using Kubeadm and then use the “hard way” by Kelsey Hightower for a better experience. KodeKloud covered you already.
3. Master the Kubernetes.io documentations
Kubernetes.io docs are a fantastic resource during the exam. Bookmark the essential pages, especially the Kubernetes Cheat Sheet page, and familiarize yourself with the search functionality. Those tips will absolutely help you during the test.
4. Practice, Practice && Practice
In the exam, you are only allowed to have two browser tabs — one for the exam and the other for the Kubernetes docs. This is in addition to a Linux Terminal. To be efficient use your favorite terminal multiplexers, such as Tmux or Screen.
4.A Deploy Kubernetes 1.17
Start by deploying a legacy release of K8s on Debian/Ubuntu releases. But why doing so? This will gives you the opportunity to practice some cluster upgrades.
4.B Get familiar with Cluster upgrades
Perform some upgrades by keeping the cluster running with minimal disruptions. Drain, Cordon/Uncordon your nodes, upgrade Kubeadm, kubectl.
Breakup your cluster and troubleshoot it, you’ll be the K8s God.
4.C Be a Kubectl heavy-eater
Command-Line tools are what you are working on the most during the exam.
Read the command-line tool references thoroughly and practice the Kubectl, vim, file redirection, grep.
Rely on Kubectl autocompletion:
source <(kubectl completion bash)
Make use of the -help option “kubectl <command> -help”, as it includes a lot of ready-to-use examples.
Rely on “explain” commands
kubectl explain deployment
kubectl explain pod.spec.containers
Learn how to switch contexts smoothly
Switching contexts between the clusters are provided already during the exam. Ensure changing context for each of the questions.
kubectl config set-context --current --namespace <NANESPACE>
Master JsonPath
Be comfortable with formatting the output of the kubectl command, with ordering and filtering the output. This might be requested during the exam.
kubectl get pods -o=jsonpath=”{range .items[*]}{.spec.nodeName}”
Play with field selectors > Example is showing pods that are running on a specific node
kubectl get pods -A --field-selector spec.nodeName=NodeNameID
Play with Sort-By flags
kubectl get daemonsets sort-by=”{.spec.nodeName}”
Generate resources
Use imperative commands to generate resources’ definition quickly, which can be customized as required. This will avoid losing time in typing, reducing human errors, and especially avoid remembering all the specs of each resource.
kubectl run mypod --image=nginx --dry-run=client -o yaml > mypod.yaml
kubectl create deployment mydeploy --image=nginx
kubectl expose deployment/mydeploy --port=80
For an exhaustive list of Resource Generators check this link.
Troubleshoot
You’ll break things during the exam, and you’ll get exercises to troubleshoot and resolve issues. So, get ready.
One tip is, break things in your lab before Linux Foundation does it for you in the exam !! And then you’re stuck, you can’t progress, you’re stressed out!
Break and repair! You’re the genius here.
One quick tip to validate the “kubeconfig” configuration file and identify any potential errors:
kubectl cluster-info --kubeconfig=/root/super.kubeconfig
Some knowledge on “systemctl” also will be so useful (Examples are: Where to locate the “sysctl” config files and the Kubernetes config files).
Last Advice
Use as much as possible the open document “kubernetes.io/docs’ to copy/paste resources or commands and move fast with any content/tricks of the exam.
Avoid spending too much time on questions you found hard to solve, rather just make a quick attempt to solve them, flag, and move on.
To Finish! CNCF wants you to succeed
Be positive and do not get frightened of the exam! Use the first attempt as a Fail-Fast strategy, to learn and earn faster. Time is your only limit as the exam is totally built to be doable and solvable by anyone with enough time.
Numerous CKA/CKAD applicants achieved the exam in just one hour!! Their trick was Practice, Practice, and Practice.
Do the hard part, before the exam. You’ll be ready for the easy staff later-on.
Good luck, you’ll be ready. You’ll be rewarded.