A set of notes, practice test references to prepare for Certified Kubernetes Application Developer exam by Cloud Native Computing Foundation
How to crack CKAD in 1st attempt
Section Weightage Marks :
- Core Concepts - 13%
- Configuration - 18%
- Multi-Container Pods - 10%
- Pod Design - 20%
- State Persistence - 8%
- Observability - 18%
- Services and Networking - 13%
Details :
Core Concepts – 13%
- Understand Kubernetes API primitives
- Create and Configure Basic Pods
Configuration – 18%
- Understand ConfigMaps
- Understand SecurityContexts
- Define an application’s resource requirements
- Create & consume Secrets
- Understand ServiceAccounts
Multi-Container Pods – 10%
- Understand Multi-Container Pod design patterns (e .g. ambassador, adapter, sidecar)
Observability – 18%
- Understand LivenessProbes and ReadinessProbes
- Understand container logging
- Understand how to monitor applications in Kubernetes
- Understand debugging in Kubernetes
Pod Design – 20%
- Understand how to use Labels, Selectors, and Annotations
- Understand Deployments and how to perform rolling updates
- Understand Deployments and how to perform rollbacks
- Understand Jobs and CronJobs
Services & Networking – 13%
- Understand Services
- Demonstrate basic understanding of NetworkPolicies
State Persistence – 8%
- Understand PersistentVolumeClaims for storage
Once you schedule the test, you can’t reschedule or cancel before 24hr of the scheduled test. You will get 1 free retake incase you didn’t qualify in first attempt.
Here is the following details about the test.
- 2 hours : 19 questions
- Remotely proctored in Chrome browser plus an extension
- Government-issued Non-expired ID Card
- Webcam and microphone
- Completely practical, no theory. All on the command line
- Questions are weighted with a percentage. Harder question, more points
I have noted down few imperative commands. It saves alot of time during the test. Practice these command as many times as you can. :D
- kubectl create service nodeport
- Kubectl expose Pod / Deployment — port=123 — name= Service_Name — namespace= Namespace_Name
- kubectl label / annotate / set / scale
- Kubectl run nginx — image=nginx — restart=Never — replicas=3
- K create secret generic abcd — from-literal=id=1
- K create congimap cm1 — from-literal=id=1
Don’t try to write your own yamls at the exam.
1. Pods , Deployments, Secrets, Configmaps, Jobs, Cron jobs
These yamls can be generated using — dry-run , — export , -o yaml flags
eg: k create deployment — image=nginx — dry-run -o yaml > dp.yaml
2. Persistent Volume, Persistent Volume Claim, Node Affinity, Node Selector, Service Account, Volumes
These yamls can easily fetched from k8s.io documentations.
Be familiar with the editor you want to use. In my case , I used Vi.
Things you should know and fast in doing
- Find and replace
- Going to exact line
- Deleting the word and line
- Checking the alignment
- Save & exit
- Kubectl cheatsheet : https://kubernetes.io/docs/reference/kubectl/cheatsheet
- Bookmarks :
https://github.com/nikhilagrawal577/ckad-notes/blob/master/CKAD_bookmarks.html
Just import in your browser and use it. I have added all relevant kubernetes.io document links. - Context : Always pay attention to which context are you working ? It is correct or not. Make sure, you set the context before answering the actual question. Context will be given in the top of each question.
- If you are unsure of the spec or parameters of a yaml, always use
**kubectl explain <resource>.<key>**
Eg :kubectl explain pod.spec
- Time is extremely crucial. Try to read the question carefully and understand in a single go. Don’t waste time in reading the question multiple times.
- As weightage is already given for each question, if some less weightage question is taking more time to solve , you can skip and come back to that question later part of the test.
- Make sure, you are executing the commands in the provided namespace.
- Be familiar with mouse or trackpad as you need them to copy paste few names of the objects from the questions and to copy yaml from Kubernete.io page.
- Be an expert in terms of Imperative commands . It saves quite a lot of time
- Don’t waste time in typing yaml codes. Generate Yamls
-
https://matthewpalmer.net/kubernetes-app-developer/articles/ckad-practice-exam.html
-
https://www.avthart.com/posts/certified-kubernetes-exam-tips/
-
https://medium.com/@MrMcMuffins/ckad-exam-failure-748f978a325a
-
https://www.cloudreach.com/blog/study-guide-certified-kubernetes-application-developer-ckad-exam/
-
https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/
-
https://www.udemy.com/course/certified-kubernetes-application-developer/