How I pass CKAD — Certified Kubernetes Application Developer exam

Rakesh Saw
3 min readOct 17, 2023

Well I passed CKAD exam second time with very good score . This time I focused much on practicing questions because I had good understanding of kubernetes concepts.

CKAD exam is very different when compared with AWS ,GCP and others which is MCQ based. CKAD is performance hands on based exam which needs good amount of practice .

Review the exam domains and competencies here -https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/

Recommend resources to pass CKAD exam if you don’t have much working experience on Kubernetes.

  1. Well explained course- https://kodekloud.com/courses/certified-kubernetes-application-developer-ckad/
  2. Mock exam series — https://kodekloud.com/courses/ultimate-certified-kubernetes-application-developer-ckad-mock-exam-series/
  3. CKAD Simulator — https://killer.sh/ckad
  4. A set of exercises — https://github.com/dgkanatsios/CKAD-exercises

Important pointers while you are preparing for this exam.

  1. Watch the concept assume What’s Deployment in Kubernetes then practice or do hands on any cluster or use GKE standard cluster .
  2. This exam test your concept as well as how good you are in implementing this .
  3. More you practice more confidence you will get .
  4. Visit the offical docs for every concept or topic like deployment ,secret,configmap and get familiar with examples .

Important tips for CKAD exam

  1. Don’t start writing YAML file for any questions from scratch.
  2. Copy YAML related to questions from official docs and update or add values related to questions .
  3. Once you get access to your terminal in the exam then set 1 minute to set few export commands to save time as shown below .
export do="--dry-run=client -o yaml" # k create deploy nginx --image=nginx $do
export now="--force --grace-period 0" # k delete pod x $nowLearn to use kubectl run with --dry-run=client -o yaml option instead and save file then edit that yaml as per question given.

4. Learn to use kubectl run with --dry-run=client -o yaml option instead as show below.

Example- 
1. Create an nginx pod with requests cpu=100m,memory=256Mi and limits cpu=200m,memory=512Mi

kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
# edit pod yaml and add requests and limits in yaml file. For these values
# check offical docs as - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
vi pod.yaml

apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "200m"
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}

5. Use Imperative commands to achieve the task if possible like this.

kubectl create namespace mynamespace
kubectl run nginx --image=nginx --restart=Never -n mynamespace

6. CKAD exam will have 18–20 questions .The exam will have different weightage questions like 4%, 6%, 8% etc. Start with higher weightage question first and suppress the urge to answer sequentially. Do not spend more time on one single question. Remember there’s always going to be one tricky question, so just flag that one and move on with next higher weightage question.

Once you are prepared then visit official website to register -https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/

“Practice makes a man perfect”

--

--

Rakesh Saw

Lead System Engineer at EPAM SYSTEMS. He is 10xGCP and 3xK8 Certified .